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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48584 3c298f89-4303-0410-b956-a3cf2f4a3e73
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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48475 3c298f89-4303-0410-b956-a3cf2f4a3e73
build: ignore the linux package in the sdk only for generating package data, not for dependencies Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48171 3c298f89-4303-0410-b956-a3cf2f4a3e73
build: prevent host default LDFLAGS from leaking into packages Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48158 3c298f89-4303-0410-b956-a3cf2f4a3e73
build: filter out relative directory entries from $PATH Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@48107 3c298f89-4303-0410-b956-a3cf2f4a3e73
toplevel.mk: fix distclean - remove logs like "make dirclean" does - remove key-build* Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47397 3c298f89-4303-0410-b956-a3cf2f4a3e73
toplevel.mk: drop LD_LIBRARY_PATH overrides Overriding LD_LIBRARY_PATH for host utilities frequently leads to problems with host executables loading shared libraries from the staging_dir, leading to crashes due to incompatible ABIs. Since most host utilties either embed a proper rpath or are reworked to link statically we do not need the workaround anymore. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@47103 3c298f89-4303-0410-b956-a3cf2f4a3e73
include: toplevel: drop unused OPENWRTVERSION variable Signed-off-by: Rafał Miłecki <zajec5@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46906 3c298f89-4303-0410-b956-a3cf2f4a3e73
toplevel: fix release name Signed-off-by: Steven Barth <steven@midlink.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46899 3c298f89-4303-0410-b956-a3cf2f4a3e73
toplevel.mk: fix LD_LIBRARY_PATH for host binaries Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46394 3c298f89-4303-0410-b956-a3cf2f4a3e73
build: don't call prereq for any package/symlinks rules Most of the time, we want to make sure OpenWrt has been configured and setup before start running make. However, in case of package/symlinks, forcing prereq as a dependency creates multiple issues: *when executed on a clean workspace, it will prompt for user input and open a menuconfig window before executing the feeds command *the only way around that is to provide a .config. However, the "prereq" target would then run a "make defconfig", which will remove all the packages in the .config but from external feeds, as feeds have not been installed yet. The only way to currently work around this, is to generate a fake config by running "make defconfig", then "make package/symlinks", copy the real config (which at this point disregards the previously generated config), and run make defconfig again. Something like this: make defconfig make package/symlinks cp real.config .config make defconfig This change is removing the need for the first defconfig, making the process more logical for OpenWrt users using the package/symlinks target. Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45657 3c298f89-4303-0410-b956-a3cf2f4a3e73
build: tell users to do non-paralle builds on errors Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45457 3c298f89-4303-0410-b956-a3cf2f4a3e73
include: remove trailing whitespaces Signed-off-by: Luka Perkov <luka@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45127 3c298f89-4303-0410-b956-a3cf2f4a3e73
build: move tmp/.prereq-build to staging_dir/host to gracefully handle staging_dir deletion Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44551 3c298f89-4303-0410-b956-a3cf2f4a3e73
include: remove SDK specific target from toplevel.mk Instead introduce a generic "make prepare" target which is executed if include/prepare.mk exists. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44329 3c298f89-4303-0410-b956-a3cf2f4a3e73
include: let HOSTCC default to $(CC), not gcc Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44277 3c298f89-4303-0410-b956-a3cf2f4a3e73
include: test build prereqs before preparing tempinfo Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44270 3c298f89-4303-0410-b956-a3cf2f4a3e73
sdk: track files with git and use it to implement proper clean targets Initialize a Git repository in the SDK and use git reset / git clean to rollback any SDK changes with "make clean" or "make dirclean". This approach is more robust than nuking entire directory trees because some parts of them might have been shipped with the original archive. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43904 3c298f89-4303-0410-b956-a3cf2f4a3e73
Fix build when TAR_OPTIONS env variable is set The build system sets a make variable TAR_OPTIONS to the unpacking command, i.e. "-xf -". Now if an environment variable with the same name is set, the make variable is automatically exported to the environment. The make variable is added to the tar command in the makefile, and tar adds the environment variable. This results in a command like "tar -c /some/dir -xf - -xf -" which of course doesn't work. It is also difficult to spot as the second "-xf -" is not visible on the command line. I suggest this is fixed by unexporting TAR_OPTIONS as I see no use of the evironment variable, and it is changed from the original value anyway. Signed-off-by: Jan Kardell <jan.kardell@telliq.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42794 3c298f89-4303-0410-b956-a3cf2f4a3e73
build: introduce per feed repository support This changeset implements a new menuconfig option to generate separate repositories for each enabled package feed instead of one monolithic one. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42002 3c298f89-4303-0410-b956-a3cf2f4a3e73