RFC fetcher overhaul - api reorg and git optimization V2
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest21 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/21 | bitbake/fetch2/git: Add backwards compatibility code for branch name handlingbitbake/ | +80 | 0 replies | |
| 2/21 | bb.fetch2: add unpack method in fetcherbitbake/ | +84 | 0 replies | |
| 3/21 | bb.fetch2: revise the Fetch.unpack APIbitbake/ | +15 | 0 replies | |
| 4/21 | bb.fetch: add fetch version to distinguish bb.fetch and bb.fetch2bitbake/ bitbake/ | +4 | 0 replies | |
| 5/21 | base.bbclass: use bb.fetch2 unpack APImeta/ | +7 | 0 replies | |
| 6/21 | bb.fetch2: rename "go" with "download" to better reflect its functionalitybitbake/ bitbake/ bitbake/ +10 more | +19 | 0 replies | |
| 7/21 | bbclasee: rename "go" with "download"meta/ meta/ | +8 | 0 replies | |
| 8/21 | git.py: split download to download() and build_mirror_data()bitbake/ bitbake/ | +9 | 0 replies | |
| 9/21 | bb.fetch2: remove the obsolate Fetch.try_mirrors referrencebitbake/ | +0 | 0 replies | |
| 10/21 | bb.fetch2: add git unpackbitbake/ | +16 | 0 replies | |
| 11/21 | git.py: remove the source tree tar ballbitbake/ | +4 | 0 replies | |
| 12/21 | bb.fetch2: add "BB_NO_NETWORK" optionbitbake/ | +10 | 0 replies | |
| 13/21 | git.py: add no network access checkbitbake/ | +3 | 0 replies | |
| 14/21 | wget.py: add no network checkbitbake/ | +1 | 0 replies | |
| 15/21 | svn.py: add no network access checkbitbake/ | +3 | 0 replies | |
| 16/21 | cvs.py: add no network access checkbitbake/ | +2 | 0 replies | |
| 17/21 | hg.py: add no network access checkbitbake/ | +3 | 0 replies | |
| 18/21 | bzr.py: add no network access checkbitbake/ | +4 | 0 replies | |
| 19/21 | repo.py: add no network access checkbitbake/ | +2 | 0 replies | |
| 20/21 | osc.py: add no network access checkbitbake/ | +2 | 0 replies | |
| 21/21 | ssh.py: add no network access checkbitbake/ | +2 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [RFC PATCH 00/21] fetcher overhaul - api reorg and git optimization V2
Hi Richard,
This is the V2 patch series for the fetcher overhaul phase 2 - new API reorg, and phase 3 - git optimization.
the changes compared with V1 are:
- fix some typo in api reorg patches, now api reorg patch has pass the test of x86 & arm poky-image-sato with empty DL_DIR
- add "BB_NO_NETWORK" option support
The overall changes are:
- Split go() methods into the following steps:
i) download() - do whatever transfer is necessary to get the sources locally
ii) build_mirror_data() - generate any data that would be needed to construct a source mirror
iii) unpack() - takes a directory as an argument of where to place extracted sources
- Change Poky's fetch task to call a "download" method in the fetcher instead of go().
- Change Poky's unpack to call an unpack method in the fetchers.
- Optimise git fetcher for the new layout so for a git checkout, we clone the repository in download(), then unpack just does a clone with references to the original repo.
- Add a new "BB_NO_NETWORK" option to only perform local fetch
The remaining item for phase 3 are:
- Add multiple branch/srcrev support for git fetcher
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: kyu3/fetcher-api-v2
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=kyu3/fetcher-api-v2
Thanks,
Yu Ke <[email protected]>
---
Yu Ke (21):
bitbake/fetch2/git: Add backwards compatibility code for branch name
handling
bb.fetch2: add unpack method in fetcher
bb.fetch2: revise the Fetch.unpack API
bb.fetch: add fetch version to distinguish bb.fetch and bb.fetch2 base.bbclass: use bb.fetch2 unpack API
bb.fetch2: rename "go" with "download" to better reflect its
functionality
bbclasee: rename "go" with "download"
git.py: split download to download() and build_mirror_data() bb.fetch2: remove the obsolate Fetch.try_mirrors referrence bb.fetch2: add git unpack
git.py: remove the source tree tar ball
bb.fetch2: add "BB_NO_NETWORK" option
git.py: add no network access check
wget.py: add no network check
svn.py: add no network access check
cvs.py: add no network access check
hg.py: add no network access check
bzr.py: add no network access check
repo.py: add no network access check
osc.py: add no network access check
ssh.py: add no network access check
bitbake/lib/bb/fetch/__init__.py | 2 + bitbake/lib/bb/fetch2/__init__.py | 105 ++++++++++++++++++++++- bitbake/lib/bb/fetch2/bzr.py | 6 +- bitbake/lib/bb/fetch2/cvs.py | 4 +- bitbake/lib/bb/fetch2/git.py | 165 ++++++++++++++++++++++-------------- bitbake/lib/bb/fetch2/hg.py | 5 +- bitbake/lib/bb/fetch2/local.py | 2 +- bitbake/lib/bb/fetch2/osc.py | 4 +- bitbake/lib/bb/fetch2/perforce.py | 2 +- bitbake/lib/bb/fetch2/repo.py | 4 +- bitbake/lib/bb/fetch2/ssh.py | 4 +- bitbake/lib/bb/fetch2/svk.py | 2 +- bitbake/lib/bb/fetch2/svn.py | 6 +- bitbake/lib/bb/fetch2/wget.py | 5 +- meta/classes/base.bbclass | 13 +++- meta/classes/sstate.bbclass | 5 +- 16 files changed, 250 insertions(+), 84 deletions(-)