summaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* scripts/feeds: Reuse TOPDIR if defined in environmentMichal Sojka2017-02-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The feeds script sets value of TOPDIR in a way that is inconsistent with how toplevel Makefile sets it. The inconsistency manifests when I use a "build directory" with symlinks to LEDE source (see below). When make is invoked in such a directory, make's TOPDIR variable is set to that directory, whereas scripts/feeds sets TOPDIR to the top of LEDE source, which results in creating feeds directory inside the LEDE source instead of in the build directory. This patch changes the script so that it reuses the TOPDIR value form the environment if it exists. The result is that 'make package/symlinks' correctly fetches feeds to the build directory instead in the source. I use the following commands to create the build directory: ln -s $SRC/config config ln -s $SRC/Config.in Config.in ln -s $SRC/feeds.conf.default feeds.conf.default ln -s $SRC/include include ln -s $SRC/Makefile Makefile mkdir package ln -s $SRC/package/base-files package/base-files ln -s $SRC/package/boot package/boot ln -s $SRC/package/devel package/devel ln -s $SRC/package/firmware package/firmware ln -s $SRC/package/kernel package/kernel ln -s $SRC/package/libs package/libs ln -s $SRC/package/Makefile package/Makefile ln -s $SRC/package/network package/network ln -s $SRC/package/system package/system ln -s $SRC/package/utils package/utils ln -s $SRC/rules.mk rules.mk ln -s $SRC/scripts scripts ln -s $SRC/target target ln -s $SRC/toolchain toolchain ln -s $SRC/tools tools This allows me to easily test changes in LEDE on multiple targets. Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
* gen-dependencies.sh: fix handling variations in "file" outputFelix Fietkau2017-02-191-1/+1
| | | | | | On some systems, file adds ", with debug info" after "not stripped" Signed-off-by: Felix Fietkau <nbd@nbd.name>
* rstrip.sh: fix handling variations in "file" outputFelix Fietkau2017-02-191-1/+1
| | | | | | On some systems, file adds ", with debug info" after "not stripped" Signed-off-by: Felix Fietkau <nbd@nbd.name>
* feeds: add option to force feed update despite modified filesJo-Philipp Wich2017-02-151-9/+26
| | | | | | | | Implement a new flag "-f" for the feeds update command which causes the script to fall back to a more agressive git update strategy in case there are locally modified files in the feeds directory. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: add buildbot specific config option for setting defaultsFelix Fietkau2017-02-141-1/+4
| | | | | | | | | | This can be used to tweak the buildbot behavior without having to change buildbot's configuration. It will also allow us to add more aggressive clean steps (e.g. on toolchain changes), which would break developers' workflows if enable by default. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* scripts/om-fwupgradecfg-gen.sh: add support for the A60Sven Eckelmann2017-02-141-2/+2
| | | | Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
* build: remove libc version suffix from build/staging directoriesFelix Fietkau2017-02-071-2/+2
| | | | | | Our supported libcs are ABI compatible across version upgrades Signed-off-by: Felix Fietkau <nbd@nbd.name>
* scripts: get_source_date_epoch.sh: fix mercurial support, add mtime fallbackJo-Philipp Wich2017-02-021-2/+7
| | | | | | | | | | Add a fallback case to get_source_date_epoch.sh which reports the modification time of the script itself in case there is no SCM information available, e.g. when downloading .tar.gz or .zip tarballs produced by Github. Also fix the mercurial case while we're at it. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* scripts/getver.sh: append short git hash based on upstream commitMagnus Kroken2017-02-011-1/+2
| | | | | | | | | | | The short git hash suffix printed by getver.sh is taken from the latest local commit, change this to use the hash from latest upstream commit if available. This is considered the intended behavior based on commit message a642a11faca87e2a7bddc1fadb54253e2fc26e84, introducing getver.sh. Signed-off-by: Magnus Kroken <mkroken@gmail.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* download.pl: fix detecting download errors with curlFelix Fietkau2017-01-311-1/+1
| | | | | | Avoid treating error pages as successfully downloaded content Signed-off-by: Felix Fietkau <nbd@nbd.name>
* scripts/package-metadata.pl: fix overriding conditional dependencies with ↵Felix Fietkau2017-01-111-0/+2
| | | | | | | | | | | conditional select Conditional dependencies use the '(!cond) || dep' syntax, whereas conditional select uses 'dep if cond'. Add an extra check to suppress emitting a conditional if an equal conditional select already exists. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: rework library bundlingJo-Philipp Wich2017-01-101-27/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rework the bundle-libraries.sh implementation to use a more robust approach for executing host binaries through the shipped ELF loader and libraries. The previous approach relied on symlinks pointing to a wrapper script which caused various issues, especially with multicall binaries as the original argv[0] name was not preserved through the ld.so invocation. Another down- side was the fact that the actual binaries got moved into another directory which caused executables to fail looking up resources with paths relative to the executable location. The new library wrapper implements the following improvements: - Instead of symlinks pointing to a common wrapper, each ELF executable is now replaced by a unqiue shell script which retains the original program name getting called - Instead of letting ld.so invoke the ELF executable directly, launch the final ELF binary through a helper program which fixes up the argv[0] argument for the target program - Support sharing a common location for the bundled libraries instead of having one copy in each directory containing wrapped binaries Finally modify the SDK build to wrap the staging_dir and toolchain binaries which allows to use the SDK on systems with a different glibc version. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: use mkhash to replace various quirky md5sum/openssl callsFelix Fietkau2017-01-055-14/+10
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add a small standalone utility for calculating md5/sha256 hashFelix Fietkau2017-01-051-0/+827
| | | | | | | | This will be used to simplify the build system code for checking hashes. Instead of using various variants of md5sum / openssl, use one simple utility for all of them Signed-off-by: Felix Fietkau <nbd@nbd.name>
* download.pl: use curl in preference to wgetBrian J. Murrell2017-01-031-4/+22
| | | | | | | | | | | | | | | Because wget doesn't know how to do Negotiate authentication with a proxy and curl does, use curl if it's present. The user is expected to have a ~/.curlrc that sets the options necessary for any proxy authentication. A ~/.curlrc is completely optional however and curl will work in exactly the same manner as wget without one. Signed-off-by: Brian J. Murrell <brian@interlinx.bc.ca> [Jo-Philipp Wich: Rework code to detect curl usability by checking --version, Use vararg style open() to bypass the shell when downloading, Use Text::ParseWords to decompose env vars into arguments] Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* package/Makefile & ipkg-make-index.sh: add full package data listAlberto Bursi2016-12-261-1/+1
| | | | | | | | | | | | | | | | | | | The external script used to generate the package lists for the LEDE wiki's table of packages [1] and package indexes [2] requires a "Source:" field in the package lists to find package makefiles. The package makefiles are used to read the package's Category and Submenu. The "Source:" field was removed in commit b4aa3c899cbf1f81cd8a1ea197481ac84a9d646e to reduce package list sizes and lessen opkg issues in low ram devices. Add a separate package list file with full data to be used by the wiki's script. It's called Packages.manifest and isn't compressed as it's not necessary. 1. https://lede-project.org/packages/start 2. https://lede-project.org/packages/index/start Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
* scripts/update-package-md5sum: remove file, it is obsoleted by make check ↵Felix Fietkau2016-12-171-38/+0
| | | | | | FIXUP=1 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add FIXUP option for make checkFelix Fietkau2016-12-171-0/+135
| | | | | | | | This will attempt to automatically fix common mistakes like using MD5 instead of SHA256, using the MD5SUM variable instead of HASH, or even a missing mirror file hash. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* download.pl: check for existing file before the first download attemptFelix Fietkau2016-12-161-2/+1
| | | | | | | | | | | | In the build system, flock will prevent multiple concurrent downloads for the same file. However, if one download request for the same file is waiting for another one to finish, it will result in downloading the same file twice consecutively. Prevent this issue by exiting immediately if the file has already been downloaded Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ipkg-make-index.sh: drop a few non-essential fieldsFelix Fietkau2016-12-141-1/+1
| | | | | | Saves some more space on the package index Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ipkg-make-index.sh: drop md5sum from package indexFelix Fietkau2016-12-141-3/+0
| | | | | | | We have switched opkg to sha256 a long time ago, and shrinking package lists is useful for systems that are running low on RAM Signed-off-by: Felix Fietkau <nbd@nbd.name>
* scripts: getver.sh: append Git short hash to revisionJo-Philipp Wich2016-12-021-1/+1
| | | | | | | | | | | Change getver.sh to append a short Git commit hash to the end of the artifical revision number. This way we still have order- and comparable commit numbers but also a direct relation to the Git commit. The new output format will look like "r2400+2-882472e" for dirty trees or like "r2402-882472e" for clean ones. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* docs: remove all refrences in Makefiles/scriptsMathias Kresin2016-11-302-2/+1
| | | | | | | | | | 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>
* scripts/getver.sh: treat all commits as local if can't find upstreamRafał Miłecki2016-11-211-1/+1
| | | | | | | | | | | | | | | If something goes wrong and script can't find upstream revision it will return something like: r2220 which looks like a valid upstream revision 2220. We cant' distinguish it from e.g. 2200 upstream commits and 20 local ones. The new format still provides revision number but also points clearly that is may be not the upstream one: r0+2220 Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Acked-by: John Crispin < john@phrozen.org>
* scripts/feeds: use git rev-parse for getting revisionRafał Miłecki2016-11-081-3/+3
| | | | | | It provides simpler output so we don't need extra head and cut commands. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* scripts/feeds: display "X" as revision of uninitialized feedsRafał Miłecki2016-11-081-1/+1
| | | | | | | | So far we were displaying "local" which could be misinterpreted. It wasn't possible e.g. to say if src-link feed was initialized or not. Hopefully "X" makes (a bit) more sense. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* scripts/feeds: use 10 chars for feed name column widthRafał Miłecki2016-11-031-1/+1
| | | | | | | | It's always hard to find a reasonable width that will make everyone happy. This one at least makes "telephony" (one of default feeds) name fit the column and hopefully isn't too big. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* scripts/package-metadata.pl: honour DEFAULT_VARIANTJo-Philipp Wich2016-11-021-2/+15
| | | | | | | | | | | | So far, package-metadata.pl always considered the first provider of a virtual package to be the default variant which might deviate from what buildroot considers to be the default. Change the Kconfig dependency / select code generation for virtual package providers to consider the DEFAULT_VARIANT to be the primary provider and only fall back to the first provider if no default variant was explicitely tagged. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* scripts/package-metadata.pl: fix handling of virtual (PROVIDES) dependsJo-Philipp Wich2016-11-021-2/+2
| | | | | | | | | | | | Currently the code emitting dependencies for provide candidates is overwriting the specification calculated by the previous conditional dependency handling code, rendering dependencies on virtual PROVIDES packages in conjunction with conditional dependencies unusable. Instead of overwriting, append the PROVIDES dependency spec in order to fix using DEPENDS on virtual provider packages in conjunction with conditions. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* scripts/freebsd.sh: Remove scriptDaniel Engberg2016-10-151-1/+0
| | | | | | This is outdated and bad practice, general dependencies should be documented and leave the rest up to the user. Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* scripts: case insensitive sort device namesKarl Palsson2016-10-151-2/+6
| | | | | | | | | | | | When selecting devices from the Target Devices menu, the brand choices of naming makes it confusing to find particular devices by name, as the sorting is case sensitve. AirTight came after ALFA, and devolo and jjPlus both came after Zyxel. This does _not_ apply to the Target Profile list, as that includes "Default - all profiles" inside the profile list. Signed-off-by: Karl Palsson <karlp@etactica.com>
* scripts: add help text for some generated KConfigsKarl Palsson2016-10-151-0/+17
| | | | | | | TARGET_MULTI_PROFILE and TARGET_PER_DEVICE_ROOTFS get some help text to try and clarify their behaviour. Signed-off-by: Karl Palsson <karlp@etactica.com>
* scripts: fix build warning when overriding packagesZefir Kurtisi2016-10-151-1/+1
| | | | | | | | | | | | | If core packages are overridden, CONFIG_OVERRIDE_PKGS is set based on the scan order of packages, which eventually causes that config value to be modified on each build and with that causes the build process to warn for configuration being out of sync. This commit changes the CONFIG_OVERRIDE_PKGS to be sorted and prevents that false warning. Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
* scripts/diffconfig.sh: fix output if TARGET_PER_DEVICE_ROOTFS is setMathias Kresin2016-10-061-0/+1
| | | | | | | diffconfig show packages selected as dependencies of TARGET_PER_DEVICE_ROOTFS as individual selected. Signed-off-by: Mathias Kresin <dev@kresin.me>
* image: allow specifying additional packages for device-specific rootfsMatthias Schiffer2016-09-241-1/+12
| | | | | | | | 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>
* scripts/package-metadata.pl: fix generation of dependencies on virtual packagesMatthias Schiffer2016-09-231-1/+4
| | | | | | | | Dependencies on purely virtual packages (satisfied by PROVIDES) that were not using "selects" ("+" flag) would be prepended with the prefix "PACKAGE_" twice, breaking the first alternative. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* scripts/ubinize-image.sh: add support for adding custom partitionsFelix Fietkau2016-08-311-1/+26
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* scripts: ipkg-build: do not require git or svnJo-Philipp Wich2016-08-151-2/+2
| | | | | | | | Move the "which svn" and "which git" calls next to the timestamp commands using those tools to not prematurely fail on systems where svn or git are not present. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: add plan 9 fs packageMatteo Croce2016-08-111-0/+1
| | | | | | | 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>
* scripts/config: properly handle select on symbols with unmet direct dependenciesFelix Fietkau2016-08-031-11/+3
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* scripts/config: sync with latest linux upstreamFelix Fietkau2016-08-0315-1394/+1398
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* scripts: fix remote-gdb with CONFIG_BUILD_SUFFIXHauke Mehrtens2016-08-011-2/+2
| | | | | | | Fix the scripts/remote-gdb script when CONFIG_BUILD_SUFFIX is set. CONFIG_BUILD_SUFFIX extends the name of the folder build_dir/target* Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* build: rename sysupgrade-nand to sysupgrade-tarJo-Philipp Wich2016-07-291-0/+0
| | | | | | | 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>
* build: add option to enable all profilesFelix Fietkau2016-07-291-0/+4
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add support for per-device rootfs based on device profile packgesFelix Fietkau2016-07-291-3/+29
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* scripts/getver.sh: fix older git versions from printing stuff to stdoutJonas Gorski2016-07-161-2/+2
| | | | | | | | | Older git versions seem output the original argument to stdout if there is no upstream, presumably because they try to do things with it internally. This can be prevented by passing --verify to it, which should be safe on newer git versions. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* scripts/getver.sh: stop relying on the reboot tagFelix Fietkau2016-07-141-3/+4
| | | | | | It may not be present when cloning a staging tree or another fork Signed-off-by: Felix Fietkau <nbd@nbd.name>
* scripts/getver.sh: fix one more wc -l callJonas Gorski2016-07-131-1/+1
| | | | | | The revision to hash conversion was missed when fixing up the script. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* scripts/getver.sh: try to get branch/upstream automaticallyJonas Gorski2016-07-131-5/+14
| | | | | | | | Instead of assuming master is the current branch and origin the right upstream, try to get both dynamically. If the current branch is not tracking any upstream, use the origin of the master branch. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* scripts/getver.sh: fix revision number on BSD/MacOSFelix Fietkau2016-07-091-2/+2
| | | | | | Strip leading whitespace from wc -l output Signed-off-by: Felix Fietkau <nbd@nbd.name>