Commit graph

2213 commits

Author SHA1 Message Date
Florian Fainelli
b9aab34eb4 include/download.mk: Allow specify DownloadMethod specific options
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>
2016-12-04 11:41:51 +01:00
Jo-Philipp Wich
5f3c96c285 build: adjust version number handling
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>
2016-12-02 16:02:02 +01:00
Mathias Kresin
59261cbf38 docs: remove all refrences in Makefiles/scripts
The SDK Makefile still trys to copy the docs folder which was removed
with 882f4d2d63. This causes an SDK build
error.

All other removals are just cleanup.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-30 10:13:14 +01:00
Kevin Darbyshire-Bryant
102cb4742c kernel: bump to 4.4.35
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>
2016-11-29 21:12:08 +01:00
Yousong Zhou
f66cb6f810 build: find_md5: ignore non-existent files or directories
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>
2016-11-24 12:53:19 +01:00
Yousong Zhou
62da60b220 build: scan.mk: remove not used variable SCAN_STAMP
It was left behind since rewrite of metadata scanning done with commit
bdc9419 in July 2007

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-11-24 12:53:18 +01:00
Felix Fietkau
77265e00c7 build: add support code for appending metadata to images
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-19 11:24:10 +01:00
Stijn Tintel
8e47655d4e kernel: update kernel 4.4 to version 4.4.32
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>
2016-11-16 17:31:29 +01:00
Koen Vandeputte
3bbc3bd1bd kernel: update kernel 4.4 to version 4.4.31
+ Refresh patches
compile/run-tested on cns3xxx & imx6.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2016-11-16 10:54:33 +01:00
Felix Fietkau
64c386c566 build: remove stale .ipk files if package dir changes
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>
2016-11-08 10:49:51 +01:00
Florian Fainelli
57fb5c08f5 include: Cortex-A53 is also an AArch64 CPU
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>
2016-11-04 13:11:00 +01:00
Stijn Segers
2f2ea7b44c kernel: update kernel 4.4 to version 4.4.30
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>
2016-11-02 10:25:44 +01:00
Jo-Philipp Wich
317b3556a4 include: properly update .install stamp files
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>
2016-11-02 01:01:35 +01:00
Jo-Philipp Wich
b7f7e9fe42 include/host-build.mk: use STAGING_DIR_HOSTPKG
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>
2016-11-01 12:11:14 +01:00
Paul Wassi
a569354481 kernel: update kernel 4.4 to version 4.4.28
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>
2016-10-31 16:33:53 +01:00
Jo-Philipp Wich
d1ae4c4958 config: ext4: drop option to set maximum number of inodes
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>
2016-10-27 19:24:38 +02:00
Jo-Philipp Wich
244955de16 include: image.mk: make ext4 reserved blocks percentage optional
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>
2016-10-27 19:24:38 +02:00
Stijn Tintel
75e63c2494 kernel: update kernel 3.18 to version 3.18.43
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 84d489f64f.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-10-24 20:25:14 +03:00
Stijn Tintel
2fc3680dd0 kernel: update kernel 4.1 to version 4.1.34
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 84d489f64f.
Changes to generic/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch based
on a90ee92337.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-10-24 20:25:14 +03:00
Álvaro Fernández Rojas
920f922652 kernel: update kernel 4.4 to version 4.4.27
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>
2016-10-23 14:56:09 +02:00
Koen Vandeputte
32c28a78f7 kernel: update kernel 4.4 to version 4.4.26
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>
2016-10-21 18:52:28 +03:00
Jo-Philipp Wich
8cc9224115 sdk: predefine SOURCE_DATE_EPOCH
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>
2016-10-21 12:43:45 +02:00
Koen Vandeputte
7f87f82753 kernel: update kernel 4.4 to version 4.4.25
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>
2016-10-16 16:27:38 +02:00
Alexandru Ardelean
7c8c3226dc build: copy contents of 'src' folder to build dirs (if present)
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>
2016-10-15 11:36:51 +02:00
Yousong Zhou
4eb371e363 build: fix cleaning configured stamp file
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>
2016-10-15 11:36:51 +02:00
Dirk Neukirchen
336e277e8b autotools: use correct version for gettext FIXUP
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>
2016-10-13 20:25:42 +02:00
Hauke Mehrtens
559fb537d8 build: use CXXFLAGS if defined
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>
2016-10-13 17:04:43 +02:00
Jo-Philipp Wich
b81fc29123 include: prereq-build.mk: improve gcp check
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>
2016-10-11 10:07:25 +02:00
Álvaro Fernández Rojas
7cc89af937 kernel: update kernel 4.4 to version 4.4.24
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>
2016-10-08 09:40:15 +02:00
Jo-Philipp Wich
7694c5cf0e include: remove XZ host prereq
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>
2016-10-06 12:15:13 +02:00
Matthias Schiffer
ec041920b7
include/package-ipkg.mk: use TARGET_PATH_PKG in Package/*/install steps
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>
2016-10-06 01:57:39 +02:00
Matthias Schiffer
cb718eb34b
include/host-build.mk: set Host/Exports for Host/Install step
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>
2016-10-06 00:51:34 +02:00
Matthias Schiffer
4ada2fd276
include/host-build.mk: fix ACLOCAL_INCLUDE
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>
2016-10-06 00:19:18 +02:00
Matthias Schiffer
7064a849ce
include/host-build.mk: pass HOST_BUILD_PREFIX to Host/install
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>
2016-10-06 00:19:18 +02:00
Daniel Engberg
cbc80805bd include/download.mk: Use -7e compression instead of -6 by default
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>
2016-10-05 15:15:19 +02:00
Daniel Engberg
ed768ae4b2 include/prereq-build.mk: Add xz-utils to make prereq
Add xz-utils to make prereq

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2016-10-05 15:15:18 +02:00
Jo-Philipp Wich
5d86dc791e include/download.mk: generate reproducable SCM tarballs
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>
2016-10-05 00:45:59 +02:00
Felix Fietkau
86c966a8ae build: fix regression on running make kernel_menuconfig
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>
2016-10-04 17:51:49 +02:00
Felix Fietkau
934901fb3e build: leaving behind incomplete metadata files on cancelled builds
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-10-04 16:01:41 +02:00
Jo-Philipp Wich
be6f836841 include: relax umask check
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>
2016-10-04 14:07:37 +02:00
Jo-Philipp Wich
5f80315634 include: add umask prereq check
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>
2016-10-04 11:08:58 +02:00
Matthias Schiffer
cea09329e5
netfilter: fix file conflicts between kmod-ipt- and kmod-nft- packages
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>
2016-09-30 23:32:05 +02:00
Álvaro Fernández Rojas
7d559169c5 kernel: update to v4.4.23
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>
2016-09-30 20:08:21 +02:00
Stijn Segers
949cfbb243 kernel: update kernel 4.4 to version 4.4.22
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>
2016-09-30 13:34:04 +02:00
Felix Fietkau
685ed1e072 kernel: add STAGING_DIR_HOST/lib to host library search path
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-29 13:35:11 +02:00
Matthias Schiffer
5b99693832
rootfs: fail on errors in postinst scripts
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>
2016-09-26 17:57:58 +02:00
Matthias Schiffer
021b96d7c5
rootfs: remove unnecessary and potentially harmful force flags from opkg call
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>
2016-09-26 17:57:58 +02:00
Matthias Schiffer
593dfac909
image: per-device rootfs: first remove, then install packages
Some DEVICE_PACKAGES definitions replace one package variant with another
(e.g. wpad-mini is replaced with wpad). To avoid file conflicts, first
remove, then install packages.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-09-26 17:57:58 +02:00
Matthias Schiffer
a16a8814ea
image: don't modify file permissions before rootfs generation
Modifying the file permissions can be harmful, as it would make files
world-readable even if they weren't in the ipk packages. The
Image/mkfs/prepare step is removed completely, as it is redundant now (/tmp
and /overlay are already provided by base-files with the correct
permissions).

It has been verified that this change does not affect any permissions of
files in the default package set except /etc/ppp/chap-secrets, which was
world-readable before. All packages not in the default set are more likely
to be installed via opkg than being part of a base image and thus were
usually not affected by the permission modification anyways.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-09-26 17:57:56 +02:00
Matthias Schiffer
663145e419
image: fix CONFIG_CLEAN_IPKG with CONFIG_TARGET_PER_DEVICE_ROOTFS
Running prepare_rootfs on TARGET_DIR deletes the opkg state when
CONFIG_CLEAN_IPKG is enabled, making the per-device rootfs package install
fail.

To avoid this, create a copy of the TARGET_DIR before prepare_rootfs is run
and use this as basis for per-device rootfs generation.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-09-25 09:30:55 +02:00
Matthias Schiffer
3675e657ed
image: per-device rootfs: don't fail without opkg
Ignore errors caused by /etc/opkg not existing (i.e. when opkg is not
selected).

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-09-24 18:41:37 +02:00
Matthias Schiffer
e916579340
image: allow specifying additional packages for device-specific rootfs
Add a new option to each device in multi-profile mode, allowing to provide
a list of packages to add or remove. In case of added packages, the user
must take care that these are selected to be built.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-09-24 18:25:25 +02:00
Matthias Schiffer
c15d70c6d6
image: don't override opkg list directory in per-device rootfs mode
opkg's -l option is always interpreted relative to the installation root.
This leads to very weird paths inside the rootfs (containing the whole path
to the LEDE tree on the build machine) and causes the subsequent deletion
of the list directory to fail (cluttering the resulting images).

Instead, use the default list directory and remove its contents in
prepare_rootfs.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-09-24 03:37:08 +02:00
Álvaro Fernández Rojas
41eab9048b kernel: update kernel 4.4 to version 4.4.21
Refresh patches for all targets that support kernel 4.4.
Compile-tested on brcm2708 only.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-09-16 10:17:27 +02:00
Álvaro Fernández Rojas
d14c28fc80 kernel: update kernel 4.4 to version 4.4.20
Refresh patches for all targets that support kernel 4.4.
Compile-tested on brcm2708 only.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-09-15 08:10:55 +02:00
Mathias Kresin
61c2a7339a image: remove padding parameter from append-kernel/append-rootfs
Using pad-to instead of passing the optional padding to append-kernel
or append-rootfs. It could be that the value of a variable is passed.
In case the variable is empty no error is thrown.

Furthermore the purpose of the extra parameter is hard to get without
reading the code.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-13 19:36:41 +02:00
Mathias Kresin
14b40d61e1 image: use check-size from new image build code
Use the new image build code and deduplicate the code.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-13 19:36:41 +02:00
Mathias Kresin
1cd0a4c688 image: add KERNEL_SIZE to the default device vars
This reverts commit ec37a56587 and fixes
the underlying issue.
2016-09-13 19:36:41 +02:00
Felix Fietkau
d27bce8d28 build: drop UBI EOF marker from images by default
Only add them where they are actually required.
Should help with compatibility issues with stock U-Boot images that
access UBI

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-12 18:21:52 +02:00
Felix Fietkau
d2a7df0792 octeon: use new ext4/f2fs overlay support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-10 12:17:39 +02:00
Mathias Kresin
ddd259b0d5 image: pass device blocksize to padjffs2
At the moment the padding steps are hardcoded. Especially images for
devices with a 4K sector size can be unnecessarily bloated using the
hardcoded padding steps.

It has been observed that 192Kb of padding was added to the image of a
4MB device, albeit due to the 4K sector size the minimum required extra
padding for the jffs2 rootfs_data is 20Kb.

In worst case it means that the image-size check could fail albeit
there is enough space for all selected packages

For device build code not exposing the blocksize, use the hardcoded
padding further on.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-03 07:40:15 +02:00
Mathias Kresin
3e7524c184 image: add support for k unit suffix to append-ubi
Allows to use the same unit for all definitions of the blocksize to be
consistent regardless of the used filesystem.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-04 08:51:58 +02:00
Mathias Kresin
b99a93ebaf image: add support for k unit suffix to pad-offset
Allows to specificy the padding and offset in kilobytes to be
consistent with pad-to.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-03 07:36:12 +02:00
Pushpal Sidhu
4fd043b95b image.mk: Create a manifest file of installed packages as a build artifact
A few linux BSP's create a manifest file of installed packages for a given
target in order to help them understand exactly what's on their images. Create
one here as well as a build artifact since many users have an affinity to
prune down on packages to save valuable flash space.

Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com>
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2016-09-08 13:40:02 +02:00
Felix Fietkau
a84a74f618 scripts/ubinize-image.sh: add support for adding custom partitions
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-31 13:05:19 +02:00
Felix Fietkau
223c124db8 ubox: move logd into ubox package
Preparation for further build rework

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-23 12:19:23 +02:00
Felix Fietkau
f5860f898a build: use perl instead of GNU date for KBUILD_BUILD_TIMESTAMP
Fixes warning on non-Linux systems

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-23 11:56:13 +02:00
Felix Fietkau
4170267f5a build: pass $(STAGING_DIR_HOST) to Host/Install
makes it more consistent with package builds

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-23 11:56:13 +02:00
Jonas Gorski
b962da4d92 ramips: mt7621: switch to 24kc
1004kc is just a SMP capable 34kc, and GCC treats 24kc and 34kc exactly
the same and will generate identical code, so there is no need to tune
to 1004kc instead of 24kc.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-23 11:55:32 +02:00
Jonas Gorski
a11843b62e include: remove 34k distinction
Now that there are no users anymore, drop the 34kc CPU_FLAGS.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-23 11:55:32 +02:00
Stijn Tintel
8072264b96 kernel: update kernel 4.4 to version 4.4.19
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 and x86/64.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2016-08-23 10:51:17 +03:00
Jonas Gorski
f3923dab7b kernel: check the right directories for rebuild
Pass KERNEL_FILE_DEPENDS to rdep instead of PKG_FILE_DEPENDS, which is
empty. Also don't pass $(CURDIR) as the directory to timestamp, as it
would also pick up non kernel related changes like image building code.

Should fix kernel being rebuild for unrelated changes, as well as not
being rebuild for changes in target/linux/generic.

Fixes: 22ef1c83b3 ("kernel: make the kernel build auto-clean the build dir like package build")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-19 11:02:47 +02:00
Josua Mayer
57ef81d78f kernel: prevent adding custom string to localversion
When the kernel build picks up a localversion file in the source tree,
that string is unconditionally appended to LOCALVERSION and affects the
uname string.
Make sure to delete any such file.

Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
2016-08-18 09:49:18 +02:00
Josua Mayer
0df2c6563a kernel: prevent addition of scm marker to localversion
When building the kernel from a git repository, the kernel build appends
either a + or a short commit hash to localversion.
This behaviour can be prevented by passing the empty LOCALVERSION variable
to make.

Signed-off-by: Josua Mayer <josua.mayer97@gmail.com>
2016-08-18 09:49:18 +02:00
Jonas Gorski
86ec410418 kernel: check SOURCE_DATE_EPOCH before setting KBUILD_BUILD_TIMESTAMP
Make sure SOURCE_DATE_EPOCH actually contains something.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-13 15:49:26 +02:00
Jonas Gorski
5fe923b15d kernel: allow reproducable builds
Similar how we fix the file times in the filesystems, fix the build time
of the kernel, and make the build number static. This should allow the
kernel build to be reproducable when combined with setting the
KERNEL_BUILD_USER and _DOMAIN in case of different machines.

The reproducability only applies to non-initramfs kernels, those still
require additional changes.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-13 11:35:00 +02:00
Matteo Croce
1645abffea kernel: add plan 9 fs package
9pfs is used by kvm to share files between host and guest,
add proper config option to enable it.

Signed-off-by: Matteo Croce <matteo.croce@canonical.com>
2016-08-11 10:45:33 +02:00
Jonas Gorski
bebcb81da5 ramips: switch from 24kec to 24kc
Since the only difference between 24Kec and 24Kc is the addition of DSP
ASE support, and we don't use it anymore, there is no need to keep 24Kec
as a separate cpu type.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2016-08-08 11:29:56 +02:00
Felix Fietkau
22ef1c83b3 kernel: make the kernel build auto-clean the build dir like package builds
Previous behavior can be restored by using QUILT=1 on target/prepare

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-05 14:17:08 +02:00
Felix Fietkau
2180b715c1 image: fix per-device rootfs build error when not all opkg package files are found
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-04 11:19:41 +02:00
John Crispin
4df2011794 include/image.mk: allow image code to override uImage name
Signed-off-by: John Crispin <john@phrozen.org>
2016-08-03 15:30:13 +02:00
Felix Fietkau
9abbaa9539 build: remove MIPS dsp/dsp2 CPU_SUBTYPE
There does not seem to be any meaningful difference in generated code.
This will save some time and space on snapshot builds

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-03 14:56:45 +02:00
Felix Fietkau
f2de33b2c9 build: move merged package directory from bin/ to staging_dir
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-03 12:22:18 +02:00
Jo-Philipp Wich
83175687c8 build: remove image specific checksum code
Now that we globally calculate sha256sums over the bin/ directory we can remove
the target image specific checksum handling.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-08-01 18:11:26 +02:00
Felix Fietkau
905e50d2fb image: use the merged package directory to resolve dependencies for per-device rootfs
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-01 11:13:38 +02:00
Felix Fietkau
180465c38f build: create a package feed directory containing all packages
Needed for proper dependency handling for per-device rootfs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-01 11:13:38 +02:00
Felix Fietkau
e351f7c695 build: fix tabs vs whitespace issue
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-01 11:13:38 +02:00
Felix Fietkau
94dec60d75 build: add template for installing device .dtb files
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-31 19:35:05 +02:00
Hauke Mehrtens
1448501558 build: do not depend on svn any more
LEDE does not need svn to build any more, remove the prerequisite check.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-07-31 16:11:37 +02:00
Felix Fietkau
14488469d5 image: fix build issue with per-device rootfs and legacy devices
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-31 12:45:18 +02:00
Felix Fietkau
63b525dd6b image: add a helper variable for getting kernel/rootfs from within image Build/* templates
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-31 12:25:25 +02:00
Felix Fietkau
baeda5d31d image.mk: add CMDLINE to DEVICE_VARS
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-30 14:10:33 +02:00
Felix Fietkau
84718d8736 image: add support for overriding kernel/rootfs images in sysupgrade-tar template
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-30 14:10:33 +02:00
Felix Fietkau
50e7c1f79d include/cmake.mk: fix host builds
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 22:47:46 +02:00
Luke McKee
eadf5fb7f8 cmake: include/cmake.mk add CMAKE_BINARY_SUBDIR to allow out of source tree builds
Some packages need out of source tree building with cmake, for example
when building kernel modules.
See an example here:
https://sourceforge.net/p/accel-ppp/code/ci/master/tree/README

Signed-off-by: Luke McKee <hojuruku@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [cleanup, rework]
2016-07-29 20:27:34 +02:00
Felix Fietkau
c5a9a08f1e image.mk: remove leftover variable from a previous rework
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 17:13:48 +02:00
Jo-Philipp Wich
db49dd894e build: rename sysupgrade-nand to sysupgrade-tar
Now that the "sysupgrade-nand" step is used by non-NAND targets as well,
rename it to "sysupgrade-tar" to make it more generic.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-07-29 16:53:03 +02:00
Felix Fietkau
76341cfc5f build: add support for per-device rootfs based on device profile packges
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau
c0dceae4bb build: minor cleanup of redundant code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau
653cb2594d build: set TMPDIR for opkg calls
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau
c792c7512c build: add target_params variable for getting root filesystem image parameters
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau
731b166528 build: add template for getting opkg package files from package names
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau
5d30bf8303 build: rework opkg command invocation
Drop included $(XARGS), add support for passing target dir via parameter

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau
37e82e4e42 build: remove obsolete variables from opkg command
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau
7dffc32ffa build: rework prepare_rootfs to pass target dir via parameter
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau
c5ca181d12 image: add wrapper variable to get the target dir for mkfs commands
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau
4fed7a60f9 image: make mkfs template output to $@
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau
973e6e1d71 build: move rootfs processing code to include/rootfs.mk so it can be reused later
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-29 10:18:26 +02:00
Felix Fietkau
b47f438d98 build: remove image prefix from kernel files in KDIR
This allows the image builder to change EXTRA_IMAGE_NAME at a later
point in time without breaking the build

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-25 12:44:30 +02:00
Felix Fietkau
9945a1dca5 build: remove cpio.gz and tar.gz from regular filesystem types
They are not used to produce regular firmware images anyway. Instead,
call their build templates directly if enabled in the config

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-25 12:43:39 +02:00
Felix Fietkau
33c8d35375 image: remove shell calls from legacy ubi/ubifs image code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-25 12:37:50 +02:00
Felix Fietkau
11fc0cd1b1 image.mk: create default ubifs before calling legacy image build code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-22 13:58:58 +02:00
Chris Blake
3827ce2c3d apm821xx: add support for the apm821xx device target
This adds a new target for PowerPC APM82181 and APM82161
(464-based) boards, as well as adds support for the booke-wdt
watchdog package.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
2016-07-22 09:48:12 +02:00
Felix Fietkau
8265fdcc4d imagebuilder: strip DEVICE_ prefix from profiles (FS#55)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-21 13:41:20 +02:00
Felix Fietkau
ed90d50bc4 build: fix image builder profile override (FS#55)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-21 13:29:04 +02:00
Felix Fietkau
b5b2425cba image.mk: initialize BOARD_NAME and IMAGES, add it to DEVICE_VARS
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
9a50a213d2 image.mk: add support for specifying the VID header offset for UBI
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
9497a23ecb build: add support for parameter passing to mkfs from devices
Will be used to support different ubifs parameters per device

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
4added6692 build: split legacy image mkfs.ubifs command from the one used for the new image building code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
ebd0b2d0b1 build: split legacy image building code out of image.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
1c1244193a image.mk: replace some template abstraction with make pattern rules
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
efdf7f6499 image.mk: remove obsolete Build/mkfs overrides
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-20 10:13:50 +02:00
Felix Fietkau
7bdc21de72 image.mk: fix append-dtb race when multiple devices use the same .dts
Call Image/BuildDTB unconditionally to keep things consistent

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:18:14 +02:00
Felix Fietkau
f021ea47d3 target.mk: change CPU_CFLAGS to better suit target CPUs
-march forces the compiler to generate generic code, whereas -mcpu
allows it to target the specific CPU variant and use instructions that
the generic architecture may not have

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:14:42 +02:00
Felix Fietkau
11d496d156 target.mk: rework arm architecture level detection
Use kernel config as input instead of -march CFLAGS.
With this change, -march can be dropped and replaced with more specific
optimization flags for better code generation.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:14:37 +02:00
Felix Fietkau
8e2764ce9b image.mk: clean up redundant code related to DEVICE_DTS
It is used by a core build template, so the variable should be
initialized and added to DEVICE_VARS in the core.
Same for DEVICE_DTS_DIR

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:14:11 +02:00
Felix Fietkau
b8fddb8912 image: allow devices to override the -E 5 ubinize option
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-14 10:27:30 +02:00
Felix Fietkau
e0ed6ec667 image: clean up UBI related device variable definitions
Move UBI related variable export to core, since the variables are used
by a core Build/ template

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-14 10:27:30 +02:00
Hauke Mehrtens
efa1960abb kernel: update kernel 4.4 to version 4.4.15
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-07-13 15:39:15 +02:00
Felix Fietkau
2f2d1829be target.mk: fix ARM architecture feature flag detection
Move feature flag checks below CFLAGS handling, use CPU_TYPE CFLAGS for
architecture detection.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-07 10:57:45 +02:00
John Crispin
1b13b35231 include/toplevel.mk: fix defconfig when ~/.openwrt/defconfig exists - take 2
commit 5b72807416 ("include/toplevel.mk: fix defconfig when
~/.openwrt/defconfig exists") was missing a !

Signed-off-by: John Crispin <john@phrozen.org>
2016-07-06 10:40:12 +02:00
John Crispin
5b72807416 include/toplevel.mk: fix defconfig when ~/.openwrt/defconfig exists
./scripts/feeds update will reset the .config file if ~/.openwrt/defconfig
exists, thus resetting the target to ar71xx.

Signed-off-by: John Crispin <john@phrozen.org>
2016-07-06 09:07:25 +02:00
Hauke Mehrtens
84d489f64f kernel: update to version 4.4.14
Changelog: https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.14

Some manual changes to target/linux/generic/patches-4.4/610-
netfilter_match_bypass_default_checks.patch were needed.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-06-26 18:20:37 +02:00
Sergey Sergeev
e6b9330343 build: Adds the ability to disable personal initramfs build for target device
If KERNEL_INITRAMFS := in the target/linux/*/image/Makefile->Device/%NAME% section is set to ''
then personal initramfs file for this target device will not be created.
This var is similar to the Device/Build/kernel KERNEL_INSTALL :=

Signed-off-by: Sergey Sergeev <adron@yapic.net>
2016-06-26 13:06:36 +02:00
Daniel Dickinson
f954f4337b base-files: Add standard os-release file
/etc/os-release is the standard distribution release information
file, therefore add it (and image configuration options for
fields not previously present in LEDE).  Once it is deemed
reasonable the non-standard openwrt_release, openwrt_version,
and device_info files could be removed (that is with this patch
we consider them deprecated in favour of the standard file).

Signed-off-by: Daniel Dickinson <lede@daniel.thecshore.com>
2016-06-24 13:52:53 +02:00
Ben Whitten
b7baaaf782 kernel: Move append-dtb to common image-commands
This build step is used by various targets, move it to a common section.

Signed-off-by: Ben Whitten <ben.whitten@gmail.com>
2016-06-22 19:32:06 +02:00
Felix Fietkau
8a156ad129 image.mk: add a separate step for building kernel images for LegacyDevice support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-17 20:23:11 +02:00
Felix Fietkau
425e2c1d96 image.mk: run LegacyDevice prepare once instead of once per filesystem
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-17 20:11:27 +02:00
Felix Fietkau
3004275c17 image.mk: fix make variable/command context leakage between LegacyDevice templates
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-17 20:11:27 +02:00
Felix Fietkau
71d533eea9 package-ipkg: do not include feeds.mk at metadata dump time to speed up scanning
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-16 11:56:24 +02:00
Felix Fietkau
4b8ba2b4ce include/feeds.mk: allow installation from feed packages that are installed but no longer in feeds.conf
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-16 11:56:24 +02:00
Matthias Schiffer
3ee6c17cd1
package-ipkg.mk: fix Provides for packages with multiple PROVIDES entries
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-06-16 04:15:02 +02:00
Matthias Schiffer
6fb212f293
build: don't add -j for parallel builds with Make 4.2+
Make usually passes -j and jobserver arguments as part of MAKEFLAGS. LEDE
removes MAKEFLAGS to have better control of the build, and re-adds the
jobserver arguments with -j to the Make commandline where desired.

Make 4.2+ behave differently with these arguments passed on the commandline
than in MAKEFLAGS: -j will override the jobserver argument and the job
count will be unlimited.

Moving the flags to MAKEFLAGS will need many packages to be changed and
tested; therefore, we opt for a less invasive change for now and just
remove -j for Make 4.2+, as the jobserver argument alone is enough to
enable parallel builds for these Make versions.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-06-15 19:26:17 +02:00
Álvaro Fernández Rojas
0aa6c7df60 kernel: update kernel 4.4 to version 4.4.13
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-06-12 15:51:54 +02:00
Felix Fietkau
21ad25f547 image.mk: fix dependencies for legacy make prepare step
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 16:22:28 +02:00
Felix Fietkau
160913f9de image.mk: fix filesystem dependency issue
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 10:26:23 +02:00
Waldemar Brodkorb
f7fb6e49f2 build: allow to build LEDE on latest MacOS X
Latest Xcode doesn't include openssl anymore. To compile
mkimage from u-boot source you need SSL headers on your host.
This patch provides libressl host package for any Darwin
compilation. Unfortunately openssl from MacPorts can not be
used, as the installed headers in /opt/local are breaking
GDB compilation. Tested with a RB532 image build and resulting
kernel booted on a device via TFTP.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [fixes, dependencies]
2016-06-07 08:58:41 +02:00
Felix Fietkau
26c771452c image.mk: add LegacyDevice wrapper to allow legacy image building code to be used for device profiles
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:41 +02:00
Felix Fietkau
dafda4b7f8 image.mk: change the default of the kernel suffix
Make it more suitable for installing into bin/

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:41 +02:00
Felix Fietkau
b50dfd5622 image.mk: add support for specifying a different suffix for the initramfs kernel
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:40 +02:00
Felix Fietkau
4c33bbf8f4 image.mk: split off all Build/* commands into image-commands.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:40 +02:00
Felix Fietkau
f8ebbbc568 build: implement support for selecting multiple device profiles
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:40 +02:00
Felix Fietkau
9ae952cf8c build: split scripts/metadata.pl into target-metadata.pl and package-metadata.pl
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:40 +02:00
Álvaro Fernández Rojas
a105eac4dd kernel: update kernel 4.4 to version 4.4.12
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-06-02 15:34:34 +02:00
Alexander Couzens
a7d13178f4 include: move VERSION_DIST_SANITIZED to version.mk
Also move sanitize function to version.mk
Prepare use of VERSION_DIST_SANITIZED by IB/SDK/toolchain

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2016-06-01 17:54:36 +02:00
Alexander Couzens
38d845b405 include: rename DIST_SANITIZED to VERSION_DIST_SANITZED
All version variables contain VERSION prefix.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2016-06-01 17:54:36 +02:00
Jo-Philipp Wich
3a085dcbe3 download.mk: use HTTPS for git.lede-project.org
Some Git versions have issues following the HTTP->HTTPS redirect and since
the keyring package is fetched from this host, switching to HTTPS is a
sensible choice anyway.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-06-01 15:18:42 +02:00
Ash Benz
7eb1a7e956 include/image.mk: move build step tplink-safeloader to image.mk
Move tplink-safeloader from target/linux/ar71xx/image/tp-link.mk to include/image.mk

Signed-off-by: Ash Benz <ash.benz@bk.ru>
2016-05-27 15:50:17 +02:00
Hannu Nyman
3193053df7 Centralize setting of all version info to include/version.mk
Centralize setting all version information in include/version.mk
* Set RELEASE env variable in include/version.mk instead of toplevel.mk.
  Stop exporting the variable.
* Remove hardcoded release name from /etc/banner

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2016-05-24 13:30:58 +02:00
Felix Fietkau
ce63c38ef5 image.mk: remove obsolete SUBTARGETS variable
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-23 12:19:26 +02:00
Felix Fietkau
e00770f093 image.mk: fix profile selection in the image builder
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-22 19:51:00 +02:00
Felix Fietkau
80bb5adf98 build: allow whitespace characters in VERSION_DIST
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-21 13:57:26 +02:00
Felix Fietkau
d01487e380 image.mk: simplify device profile check, prepare for supporting selecting multiple profiles
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-20 14:37:52 +02:00
Felix Fietkau
c4ae33b048 image.mk: fix evaluation order for image profile check
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-20 14:37:52 +02:00
Álvaro Fernández Rojas
c4664b0f91 kernel: update kernel 4.4 to version 4.4.11
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-05-19 21:08:06 +02:00
Daniel Golle
1ea7dba377 image.mk: fix building ubifs images
A hook for ubifs was left-out in the new image building code. Add it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2016-05-19 18:07:02 +02:00
Felix Fietkau
7bd10f9a2a image.mk: remove obsolete squashfs-lzma code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-16 19:53:07 +02:00
Felix Fietkau
470442ea0f build: fix make download in the SDK
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-16 11:20:26 +02:00
Felix Fietkau
f4c4d501e4 build: remove profile kernel/build system config override support
It has been unused for years

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-15 20:55:40 +02:00
Felix Fietkau
ace946152d image.mk: fix emitting profiles for targets that have no subtargets
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-15 17:47:06 +02:00
Felix Fietkau
4d29474e26 target.mk: add cflags for mips 1004kc cpu type
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-14 17:58:43 +02:00
Felix Fietkau
d02f109ee4 kernel: remove leftover kernel version for 4.3
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-12 16:08:44 +02:00
Álvaro Fernández Rojas
e32b2f92b1 kernel: update kernel 4.4 to version 4.4.10
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-05-11 21:34:27 +02:00
Felix Fietkau
4a31037a34 build: avoid including profiles/*.mk
Generate the active profile name in menuconfig context

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 20:14:00 +02:00
Felix Fietkau
b0cf769008 image.mk: include per-device profiles in image build profile check
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:19:17 +02:00
Felix Fietkau
471ca4197c toplevel.mk: rescan target metadata if the image makefile changes
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:03:35 +02:00
Felix Fietkau
1189af85fd metadata.pl: add support for forcing sorting of profiles
Used to mix device profiles (specified in the image makefile) with
regular target profiles.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:03:35 +02:00
Felix Fietkau
87550a0e87 target.mk: dump device profiles defined in include/image.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:03:35 +02:00
Felix Fietkau
6ddca3a361 target.mk: remove the unused Target-Path field
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:03:35 +02:00
Felix Fietkau
60fc6610be image.mk: add support for limiting images to specific subtargets
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:03:34 +02:00
Felix Fietkau
bcf67b6974 image.mk: prepare for defining device profile data in the Device section
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-11 19:03:34 +02:00
Álvaro Fernández Rojas
b062266ad6 kernel: update kernel 4.4 to version 4.4.9
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-05-10 10:43:17 +02:00
blogic
cbdfae5c04 ubox: turn logd into a separate package
Currently system log is always included as a part of ubox.
Add logd as a seperate package and add it to default packages list.

Signed-off-by: Andrej Vlasic <andrej.vlasic@sartura.hr>

SVN-Revision: 49285
2016-05-10 10:43:12 +02:00
Felix Fietkau
852aaf6b2c build: add support for specifying extra package dependencies for prepared, configured and built
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-05 19:43:23 +01:00
John Crispin
f5c4d963ff include: add lede git server url
Signed-off-by: John Crispin <john@phrozen.org>
2016-04-29 04:15:24 +02:00
Álvaro Fernández Rojas
3faf65e928 kernel: update kernel 4.4 to version 4.4.8
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-04-24 11:32:17 +02:00
Jo-Philipp Wich
d9ad55a609 include: remove unused FeedPackageDir macro arguments
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-22 12:02:53 +02:00
John Crispin
1191eeff8e include: bin/ dir was not created
explicitly create the bin dir

Signed-off-by: John Crispin <john@phrozen.org>
2016-04-19 16:08:18 +02:00
Jo-Philipp Wich
02def71888 include/target.mk: disambiguate package architecture
Add $ARCH and $CPU_SUBTYPE to the package architecture strings to differentiate
low and big endian targets as well as extended instructions sets like NEON
or DSP2.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-17 19:50:53 +02:00
Jo-Philipp Wich
349e7b635e include: fix nonshared flag handling
Fix nonshared flag handling to properly deal with source packages defining
both kmod and non-kmod ipks.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-15 10:26:36 +02:00
Jo-Philipp Wich
d87c303b58 include/kernel.mk: flag kmod packages as nonshared by default
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-06 22:37:58 +02:00
Jo-Philipp Wich
32a0b8c104 include/version.mk: rework repository url handling
- Add %A placeholder for substituting the package architecture
- Change %U placeholder to refer to the toplevel repository URL
- Construct package feed URLs relative to the toplevel one to match new layout

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-13 00:31:15 +02:00
Jo-Philipp Wich
5170393f8c include: choose package output directory based on repository info
Use the new repository metadata field to choose the output directory of the
final package archives.

Non-sharable packages will be placed in the per-target package directory
while the rest will be placed in a per-repository sub directory within the
$OUTPUT_DIR/packages/$CPU_TYPE/ prefix.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-06 21:55:44 +02:00
Jo-Philipp Wich
be575fdc9d include: remove now unused PACKAGE_SUBDIR variable
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-13 15:37:34 +02:00
Jo-Philipp Wich
aad2b92603 include/package-dumpinfo.mk: introduce Repository values
Introduce a new dumpinfo field "Repository" which contains the name of the
shared repository where the package will be hosted in. The name is chosen
according to the following rules:

 - Name of the feed directory for any feed package, e.g. "Repository: luci" for
   "feeds/luci/applications/luci-app-firewall/Makefile"
 - The value "base" for any other, sharable package
 - Unset for any package flagged PKG_FLAGS:=nonshared

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-13 15:28:13 +02:00
Jo-Philipp Wich
c47abdea25 include/target.mk: default to CPU_TYPE for the package architecture
Use the more specific CPU_TYPE designation as default package architecture
and only fall back to ARCH if no specific CPU_TYPE is set.

This means that e.g. ar71xx packages will use "74kc" as architecture,
not "mips" which is a precondition for sharing packages between targets.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-06 21:53:19 +02:00
Álvaro Fernández Rojas
694f060550 download: add @GITHUB download facility
Define a new alias (@GITHUB) for downloading raw files from github repos.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-04-03 22:02:46 +02:00
John Crispin
fa69553900 branding: add LEDE branding
Signed-off-by: John Crispin <blogic@openwrt.org>
2016-03-24 22:40:13 +01:00
John Crispin
2d255ac8d9 include: add a no dict version of lzma to new image build code
Required to compress kernels in a brnboot compatible way.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 49240
2016-04-26 11:43:24 +00:00
Hauke Mehrtens
f0b3964f1b kernel: update kernel 4.4 to version 4.4.7
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 49176
2016-04-16 21:05:48 +00:00
Vasilis Tsiligiannis
d55512075b include/cmake.mk: Add helper macro to handle conditionals for CMake boolean type variables
Signed-off-by: Vasilis Tsiligiannis <acinonyx@openwrt.gr>

SVN-Revision: 49164
2016-04-13 20:21:38 +00:00
John Crispin
5c408ede6c download: add @GITHUB download facility
Define a new alias (@GITHUB) for downloading raw github repository files

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 49138
2016-04-09 10:25:34 +00:00
Rafał Miłecki
53a74644b0 kernel: update kernel 3.18 to version 3.18.29
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 49096
2016-03-30 16:41:26 +00:00
John Crispin
4fe3fda78a include/image.mk: allow including U-Boot environment in UBI
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 49039
2016-03-20 14:41:06 +00:00
Hauke Mehrtens
fcbc97ad78 kernel: update kernel 4.1 to version 4.1.20
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 49035
2016-03-18 23:41:21 +00:00
Hauke Mehrtens
b3aae4c672 kernel: update kernel 4.4 to version 4.4.6
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 49032
2016-03-17 21:41:07 +00:00
John Crispin
8188542e52 include: add Cortex-A53 CPU_TYPE
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 48964
2016-03-08 18:11:37 +00:00
Felix Fietkau
4c80909fa1 prereq: stop relying on man pages and grep for --recursive on the git-submodule script directly (fixes #21968)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48934
2016-03-05 21:07:18 +00:00
Hauke Mehrtens
e9d7ee4f41 kernel: update kernel 4.4 to version 4.4.4
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48933
2016-03-05 17:51:37 +00:00
Felix Fietkau
8211221190 build: fix git prereq check to forcibly disable man pagers on the --help check
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48927
2016-03-05 13:37:02 +00:00
Felix Fietkau
887e39150f build: fix git prereq check to not rely on being in a git directory (#21968)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48926
2016-03-05 10:49:59 +00:00
Hauke Mehrtens
7768735873 kernel: update kernel 3.18 to version 3.18.27
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48874
2016-03-01 23:16:17 +00:00
Felix Fietkau
59121fdd69 buildroot: improve git submodule handling for packages
Move the `--recursive` switch from `git clone` to `git submodule`
so that submodules are cloned for upstream branches where the
PKG_SOURCE_VERSION commit-ish has a different .gitmodules
configuration than the repository default.

This is, for example, required when the master branch for a source
package does not use submodules, but its topic branch for OpenWRT
does.

This changes the buildroot dependency from git-1.6.2 to git 1.7.12.2,
which was released September 2012.

Signed-off-by: Darik Horn <dajhorn@vanadac.com>
Signed-off-by: Karl Palsson <karlp@tweak.net.au>

SVN-Revision: 48830
2016-02-29 20:12:25 +00:00
Felix Fietkau
f026f5c780 include/target.mk: fix profile defaults
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48807
2016-02-26 20:47:10 +00:00
Hauke Mehrtens
cb04b8d582 kernel: update kernel 4.4 to version 4.4.3
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48783
2016-02-25 21:54:39 +00:00
John Crispin
73015c4cb3 linux: add support of Synopsys ARCHS38-based boards
This patch introduces support of new boards with ARC HS38 cores.

ARC HS38 is a new generation of ARC cores which utilize ARCv2 ISA.
As with ARC770 we're addind support for 2 boards for now:

 [1] Synopsys SDP board (AXS103)
     This is the same base-board as in AXS101 but with
     FPGA-based CPU-tile where ARCHs38 core is implemented.

 [2] nSIM
     Again this is the same simulation engine but configured for
     new instruction set and features of new CPU.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: Jo-Philipp Wich <jow@openwrt.org>
Cc: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 48740
2016-02-18 08:22:32 +00:00
Jo-Philipp Wich
ac5b226735 download.mk: fix packed checkout mirroring support
Changeset r48416  broke the downloading of mirrored, packed scm checkouts.

Fix this by removing the "@" sign in front of the download command which is
now executed as part of a larger shell command under flock.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48733
2016-02-17 08:44:37 +00:00
Florian Fainelli
09344fde2a kernel: Revert "kernel: set root on NFS when enabled"
This reverts r48591, users needing NFS root will know how to configure
their platform and kernel command-line appropriately.

Reported-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 48689
2016-02-11 03:05:29 +00:00
Felix Fietkau
108a499c81 kernel: enable CONFIG_KALLSYMS_UNCOMPRESSED=y
It was enabled ages ago when it was added.
It still saves about 10k after LZMA, so let's enable it again.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48680
2016-02-08 18:44:21 +00:00
Jo-Philipp Wich
f6b399c8ab include: image.mk: use correct flag for fixed mtimes with make_ext4fs (#21768)
The correct flag for fixed mtime is -T, not -t.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48610
2016-02-01 13:58:43 +00:00
Felix Fietkau
dc476f5fa4 include/image.mk: fix missing right parenthesis (#21766)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48609
2016-02-01 13:42:59 +00:00
Florian Fainelli
d9fab87607 kernel: set root on NFS when enabled
Replace the configured root device with a NFS root device and automatic
IP configuration for booting over NFS.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 48591
2016-02-01 01:06:56 +00:00
Felix Fietkau
6a42ee6517 include/image: use SOURCE_DATE_EPOCH if set for squashfs + ext4 images
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>

SVN-Revision: 48588
2016-01-31 23:29:31 +00:00
Felix Fietkau
08a0095a9e include/image: don't save gzip name/timestamp metadata
Signed-off-by: bryan newbold <bnewbold@robocracy.org>

SVN-Revision: 48587
2016-01-31 23:29:22 +00:00
Felix Fietkau
be6acba4dc build system: have tar use $SOURCE_DATE_EPOCH for --mtime
The --mtime argument to 'tar' sets the modification time for all files within
the archive, which determines the timestamp files will get when they are
extracted. In this case, rootfs and other tarballs will get mtimes which
correspond to the last commit timestamp of the build system, as reported by
git/subversion.

This is a step towards reproducible image builds.

Signed-off-by: bryan newbold <bnewbold@robocracy.org>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48586
2016-01-31 23:29:16 +00:00
Felix Fietkau
82522dbaee build: introduce SOURCE_DATE_EPOCH variable
SOURCE_DATE_EPOCH is the date of the last modified file using git/svn
as date source.
See https://reproducible-builds.org/specs/source-date-epoch/

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48584
2016-01-31 23:29:07 +00:00
Felix Fietkau
3021d3139b kernel: remove .config.prev when running make kernel_*config to fix rebuild errors
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48545
2016-01-29 00:38:49 +00:00
Felix Fietkau
b3f7902a06 include/kernel: add custom USER/DOMAIN config options
These allow the generated kernel's build metadata to be defined explicitly.
This metadata is reported, eg, at boot time and in `uname -a` on running
systems. If the variables aren't configured, the current build system username
and hostname are used as normal.

The motivation for this option is to achive reproducible (bit-for-bit
identical) kernel builds of official openwrt releases.

Signed-off-by: bryan newbold <bnewbold@robocracy.org>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48541
2016-01-28 22:42:34 +00:00
Felix Fietkau
fefe200a00 include/kernel: sort module lists for reproducibility
This is to get reproducible builds of, eg, the kmod-sched ipkg.

Locale preferences can change build order, but the locale is already been
defined for the entire build process, so it doesn't need to be specified here.

Signed-off-by: bryan newbold <bnewbold@robocracy.org>

SVN-Revision: 48540
2016-01-28 22:42:29 +00:00
Hauke Mehrtens
a29c7ca3d9 kernel: update kernel 4.3 to version 4.3.4
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48498
2016-01-25 21:44:48 +00:00
Hauke Mehrtens
4807ca67d6 kernel: update kernel 4.1 to version 4.1.16
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48497
2016-01-25 21:44:12 +00:00
Hauke Mehrtens
85e523e126 kernel: update kernel 3.18 to 3.18.26
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48496
2016-01-25 21:43:26 +00:00
Felix Fietkau
1d2c63c455 include/cmake.mk: search in $(STAGING_DIR)/usr instead of plain $(STAGING_DIR) to avoid picking up stuff from host/
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48492
2016-01-25 15:49:49 +00:00
Felix Fietkau
7b5236de85 include/cmake.mk: adjust for STAGING_DIR_HOST split
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48491
2016-01-25 15:49:44 +00:00
Felix Fietkau
b737686b2c build: use -iremap feature to replace __FILE__ absolute path names in packages with ones relative to $(BUILD_DIR)
improves reproducible builds

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48489
2016-01-25 15:49:31 +00:00
Jo-Philipp Wich
4e14a27799 include: restrict separate kmod repo handling to base packages
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48479
2016-01-24 18:01:43 +00:00
Jo-Philipp Wich
0333da8943 include: group kmod ipk files into a "kernel" subdirectory
This is useful to just use the kmods from an official build while supplying
base packages from a custom feed or the other way around; for just overriding
the kmods with a local repo while using official repos for the rest.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48475
2016-01-24 15:36:05 +00:00
Felix Fietkau
158f5b8d7a build: add uclient-fetch to the default packages, in case opkg is not selected
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48450
2016-01-22 09:41:53 +00:00
Felix Fietkau
c5db626ac5 build: download.mk: bugfix download.pl argument call order
Change wrong download.pl argument call order.
See download.pl argument list.

Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>

SVN-Revision: 48427
2016-01-21 13:28:18 +00:00
Felix Fietkau
1193dc4e05 include/autotools.mk: fix gettext installation path
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48421
2016-01-20 23:21:09 +00:00
Felix Fietkau
f08623516f build: add logging for package host builds
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48417
2016-01-20 21:31:56 +00:00
Felix Fietkau
a81ad971df build: add locking for downloads (fixes race conditions with multiple variants)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48416
2016-01-20 21:31:50 +00:00
Felix Fietkau
8977571d7f build: split BUILD_LOG logs per variant
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48415
2016-01-20 21:31:43 +00:00
Felix Fietkau
f8cdadc832 Revert "include/autoconf.mk: decouple host fixups from target fixups"
This reverts commit r48403

SVN-Revision: 48412
2016-01-20 20:46:20 +00:00
Felix Fietkau
c7308bc9f1 build: use a separate variable checking the subdir path (for host packages)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48410
2016-01-20 20:13:40 +00:00
Felix Fietkau
d542d8e3c1 include/autoconf.mk: decouple host fixups from target fixups
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48403
2016-01-20 19:12:28 +00:00
Felix Fietkau
03bc8d94f0 host-build.mk: change default installation prefix of package/* host builds to staging_dir/target-*/host
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48401
2016-01-20 19:12:13 +00:00
Felix Fietkau
36502c5a6f build: move host build directories of package/* to build_dir/target-*/host/
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48400
2016-01-20 19:12:06 +00:00
Felix Fietkau
e620f4d6f8 arc: clean-up and move CFLAGS to include/target.mk
Most of currently mentioned CFLAGS in arc770/Makefile
are not really required because:
 [1] "-Os -pipe" are set by default in include/target.mk
 [2] "-fno-caller-saves" gets enabled via menuconfig
     as an extra compiler flag for developers

So the only one that makes sense is "-matomic" and
that one is really essential. Without it many software
packges won't build complainin on unresolved atomic ops.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: Jo-Philipp Wich <jow@openwrt.org>
Cc: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 48326
2016-01-18 17:52:03 +00:00
Felix Fietkau
883b5b8191 build: add @APACHE download facility
The Apache Software Foundation offers diverse download mirros.

For packaging Apache software a new alias @APACHE is defined.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>

SVN-Revision: 48270
2016-01-17 10:47:32 +00:00