Age | Commit message (Collapse) | Author |
|
This works by using git as backend for all the dirty work. This means
that patches are not just applied, but committed separately on top of the
base sources (which are put into an initial commit). A final empty commit
marks the end of the applied patch series, which allows to have multiple
sets of patches to apply on top of each other. So a git history might
look like this:
- OpenADK patch marker: 0000
(this is the initial commit, containing the unpatched sources)
- patch 1 of series 1
- patch 2 of series 1
- patch 3 of series 1
- OpenADK patch marker: 0001
- patch 1 of series 2
- patch 2 of series 2
- OpenADK patch marker: 0002
In addition to the separating empty commits, for every patch series
metadata files are added (which are used for update-patches):
__patchfiles__: A list of the patches' file names
__patchdir__: The directory containing the applied patches
Since patches might have to be unzipped first and in order to allow
calling git-am just once for each patch series, the patches (along with
above metadata files) are cached in dedicated directories:
.git/patch_tmp/NNNN (where NNNN is the series number with leading zeroes
[so shell globbing returns them in the right order]).
In case update-patches is called later, update_patches.sh works it's way
reverse through the git history, searching for commits named 'OpenADK
patch marker: NNNN'. For each one it finds, it uses the metadata info to
first remove all source patch files, then export the history in between
using git-format-patch.
To change patches or add new ones, the user has to use git-rebase in
order to get things where they need to be for update_patches.sh to put
stuff at the right place. For an example, here is how to change patch 3
of series 1 in the sample history above:
- make desired code changes
- commit them, ideally using --fixup option
- call 'git rebase -i --autosquash <hash of OpenADK patch marker: 0000>'
Using --fixup and --autosquash is convenient, since it automatically
edits the rebase todo as intended. It's optional though, editing the todo
manually will do just fine as well.
Signed-off-by: Phil Sutter <phil@nwl.cc>
|
|
We can now clone git tags and branches in a more performant
way. No change for specific hashes, other then PKG_GIT is required
now. Do not remove .git dirs, as the downloaded code might be
used to add a patch and send upstream.
Add git as requirement for downloading.
Remove unmaintained u-boot-git package.
|
|
The new prereq check is completely implemented in
POSIX shell in scripts/prereq.sh.
It combines the old features from Makefile, scan-tools.sh,
scan-pkgs.sh, reloc.sh and some wrappers for tools.
The big benefit is to have all portability stuff in one place.
Furthermore we can compile GNU make and bash on the fly, for
systems lacking the required tools.
All changes on the host are detected on the fly, no make
prereq required anymore.
The build process is separated in following three phases:
1. small wrapper Makefile is used for BSD make or GNU make
2. prereq.sh is called, doing all checking, calling Makefile.adk
3. old logic in Makefile.adk or mk/build.mk is used
Tested successfully on Linux, MacOS X, Cygwin, FreeBSD, OpenBSD
and NetBSD.
An old depmaker bug was fixed, only optional host tools are compiled.
For example, even when a host provides xz, a local xz was compiled
in the past, because other packages had a build dependency on it.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
|
This reverts commit fba2ff31928b18364c1934654169806f5c800e23.
|
|
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
|
We need it for toolchain components.
Add latest config.sub/config.guess from upstream
with a minor patch for sh2eb detection.
|
|
|
|
to avoid namespace collisions in some packages, rename TOPDIR.
Sorry you need to make cleandir && make prereq && make
|
|
seen in buildroot recently
|
|
update-patches, fix some minor issues. PIE can only be used for binaries and need support in a package
|
|
|
|
After Joerg asked me about the difference between
ADK_TARGET_ARCH and ADK_TARGET_CPU_ARCH I recognized many duplication
of variables for this information.
These patch fixes this up. Use make cleandir && make menuconfig && make
|
|
|
|
e.g. for use with autoconf, but also for build-time generated
files that are part of the distfile
Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
|
|
Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
|
|
handling quoting much better
Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
|
|
Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
resulting firmware
|
|
|
|
|
|
|
|
|
|
problems generating correct Makefiles
|
|
|
|
to new autotool infrastructure
|
|
|
|
|
|
- just use on sysroot directory for toolchain.
- add missing patches from previos commit. (rpath/cflags cleanup)
|
|
correct the wrong path and remove the correct files on clean.
Finetune more directory creation rules.
|
|
|
|
Conflicts:
package/freeradius-server/Makefile
package/nss/patches/patch-mozilla_security_coreconf_Linux_mk
|
|
add new target rebuild.
make cpio and pacch quiet.
Use bin/tools for cpio and mkcrypt.
|
|
patches
|
|
|
|
and update alix/wrap targets to 2.6.33
|
|
All packages need an update, so here is a very huge commit.
Most of the 460 source packages use automatic style for configuration,
building and installing. Make these styles default to "auto".
If you have a package, which does not conform to this, just use
manual style and add a do-$task make target.
I added a new style named AUTOTOOL style, which is needed for some
broken packages, which needs to be updated via autoconf or automake.
I renamed CONFIGURE_STYLE to CONFIG_STYLE.
Updates for some packages, which have newer upstream versions.
Renaming of all package/*/extra directories. Use the directory
src/ to provide overwrites of source files or to add the code, when
no upstream package is available or used. src directory will be automatically
used.
|
|
- git package needs a better fix. but existing symlinks are broken
build without perl
- update curl to latest upstream, including libcurl-dev package
- add libopenssl-dev package
|
|
- $id$ substitution is not apropriate for git scm
|
|
- generate ipkg control file from PKG_* variables
- automatically install init scripts from ./files/*.init
set #PKG pkgname to set the binary package
- rename FWINIT -> INIT
- move postinst and conffiles meta data to ./files
- update the packages to the latest upstream version
- remove some unready or unused package (strongswan,..)
more cleanups needed after allmodconfig
|
|
- use CPU_ARCH for fake dir and ipkg
- enable DEBUG option in menu and rename to ADK_DEBUG
|
|
|