Age | Commit message (Collapse) | Author |
|
mcgrof@drvbp1 ~/backports (git::master)$ time ./gentree.py --clean
/home/mcgrof/linux-next /home/mcgrof/build/next-20140409
Copy original source files ...
Apply patches ...
Modify Kconfig tree ...
Rewrite Makefiles and Kconfig files ...
Done!
real 1m30.186s
user 9m25.180s
sys 0m24.428s
mcgrof@drvbp1 ~/build/next-20140409 $ time ckmake --allyesconfig
1 3.0.101 [ OK ]
2 3.1.10 [ OK ]
3 3.2.54 [ OK ]
4 3.3.8 [ OK ]
5 3.4.79 [ OK ]
6 3.5.7 [ OK ]
7 3.6.11 [ OK ]
8 3.7.10 [ OK ]
9 3.8.13 [ OK ]
10 3.9.11 [ OK ]
11 3.10.29 [ OK ]
12 3.11.10 [ OK ]
13 3.12.10 [ OK ]
14 3.13.2 [ OK ]
15 3.14-rc1 [ OK ]
real 26m54.859s
user 744m15.764s
sys 83m47.440s
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
|
|
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
Update to current versions.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This replaces the old shell scripts:
* get-compat-kernels
* get-compat-trees
with a shiny central Python based backpor update manager:
* backports-update-manager
The new version provides a few features which were
simply a difficult to implement and quite frankly
pointless to try to implement in shell. Things worth
mentioning:
* This will now monitor your old directories
and packages and remove any stale old directory
or packages. You should feel comfortable with
now just getting the latest code from the repo
and always just running the script, it will do
everything you wished it did for you.
* This will always check the URLs and ensure your
file size matches the target upstream size, we
used to only check if you had the file or not
* The compat-ksrc directory was renamed to
ksrc-backports which goes inline with our
rebranding crusade. The tool is smart enough
to figure out if you had the old name and
rename it for you. Its also smart enough to
figure out if you had your old compat-ksrc
as a symlink and preserve things just as you
intended following the old real path.
* The debs/ directory is now moved into
ksrc-backports, making it easier to manage
and detect what is or not part of backports.
* I found no way to deal with objects to extract
GNU archive items with Python, so we're stuck with
requiring GNU ar, this provides a simple wrapper
for our usage.
* For the tree updater we instead or relying on
Linus' tree to be a remote we leave it separately
but always use --reference and allow users to provide
their own --reference override for new clones.
It should be easy to extend this should others have
other custom work spaces through a config file or
the like.
* To keep backports up to date on a system after
an initial run one should only need to run through
a cronjob:
backports-update-manager --force
To only update the git trees:
backports-update-manager --force --git-trees-only
Relying on an continued update list is dumb though,
in the future we should look into putting out new
builds through without requiring GNU ar and also
updating the list through a json file just as the
kernel has its own now:
https://www.kernel.org/releases.json
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
|
|
Ever since 3.10, kernel releases weren't sorted properly.
Put them into a parsed list first and then sort them to
get the 3.10/11/12 etc. to the bottom of the list.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
|
|
Add kernel 3.13-rc1 and update the other kernel versions.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
This brings the kernels test test against to the latest versions.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
|
|
By requiring 2.6.25 we can get rid of quite a lot of backport work.
2.6.25 was released more than five years ago (April 2011) and wasn't
a long-term kernel either, so there's little point in supporting it
now.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
|
|
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
|
|
If we forget to use EXPORT_SYMBOL_GPL() we can run this.
We may later use this for other things.
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
|
|
Make the python scripting compatible with python 3
(as tested with python 3.3). The patch library was
a bit tricky.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
|
|
Add kernel 3.10 to the script fetching the kernels for compile testing.
This also fixes the header rebuild for kernel versions >= 3.10.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
|
|
There's a python git library, and our name conflicts
with it since it's also just called "git". I want to
use the python library (optionally) to speed up the
git accesses so this is now relevant.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
Update to the latest available set. You'll need 3.9 updated
if you want to test against next-20130403 due to fffe01f7.
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
At times you may only want to test with ckmake a specific
kernel range or target kernels. You can do that now. ckmake
will use this list against what it finds on your system.
Examples:
* ckmake --revs 3.3..3.4
* ckmake --revs 2.6.24,2.6.30,2.6.32..3.2,3.4
The base kernels revisions is what is expected. The base kernel
revision of say 3.4.5 is 3.4, the base revision of say 2.6.24.2
is 2.6.24.
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
Vanilla Linux kernels are being used but the directory
file naming for for the kernels are Ubuntu specific,
clarify that.
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
Remove --check-exports as an option and now just enable it by default.
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
[fix typo]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
Fix a bug with multiple commits: the first commit in
a series was always treated as "multiple" because it
had no correct parent recorded in the dictionary.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
These scripts are copied from compats bin directory.
I updated the kernels referenced in get-compat-kernels.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
This first step in reorganising the header files moves all the
header files into a new backport-include/ directory that gets
priority over the regular include/ where we copy the files we
want to backport from the kernel. This will help split all the
header files into logical units.
While at it, move and rename compat_2.6.h and compat_autoconf.h
to backport/backport.h and backport/autoconf.h respectively.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
This will be enabled by default later, but right now it fails
on media/regulator drivers.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
In output trees created with the git tracker, we avoid changing
the "versions" file all the time and just put "(see git)" into
the versions. However, it's useful to still be able to identify
it, and when using this the backport is (usually) built in the
git tree. Use this fact and add the git tree commit into a new
variable to put it into the MODULE_VERSION and also print it at
runtime.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
This is useful to check only a certain subsystem, e.g. DRM.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
The code to get the number of CPUs is wrong, it finds the
maximum *string* between the CPUs and then converts it to
an integer after that -- fix that.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
If there are multiple commits in the source kernel, one
of which causes backporting failures (ie. patches don't
apply), and a subsequent one fixes it, the output is
very confusing because it skips the failing commit.
Change the script to generate a combination commit in
this case that contains the shortlog of all the commits
inbetween that were broken.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
That's more obvious ...
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
For commits generated by the git tracker, the committer
should always be set to the script, and for those that
are "meta commits" (like failures or backport updates)
the author should also be set to it.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
This makes it possible to do just 'make' in the output
tree, rather than having to configure first.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
|
|
Otherwise it keeps changing.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
|
|
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
|
|
This allows creating a git tree based on the backport
output automatically, to track an upstream kernel tree.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
|
|
There are two C files to build in there :-)
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
|
|
but add --allyesconfig option
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
|
|
* adjust to make allyesconfig ; make, it is necessary
to pass KCONFIG_ALLCONFIG to "make allyesconfig"
* don't use shell, build command ourselves
* remove pointless ignore pattern with \
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
|
|
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
|