RFC Reinstall Targets
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 RFC Latest2 of 3 patches 0 repliesNew
- v21 of 2 patches 0 repliesSuperseded
2 of 3 patches are in this archive. The cover letter announces 3.
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/3 | pkg-generic.mk: reinstall targets | +0 | 1 reply | |
| 1/3 | pkg-generic.mk: reinstall targets | +0 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.
Cover letter [Buildroot] [PATCH v3 0/3] [RFC] Reinstall Targets
Doug, All,
On 2014-11-28 09:25 -0600, Doug Kehn spake thusly:
Quoted 11 lines
This RFC proposes adding the following targets to pkg-generic.mk:
<package>-reinstall
<package>-reinstall-target <package>-reinstall-staging <package>-reinstall-images
<package>-reinstall-hostThese targets remove the package's .stamp_*_installed file to allow the reinstall to execute. The only method I presently know of to reinstall a package is to make <package>-rebuild. The proposed targets allow a package reinstall without, unnecessarily incurring a rebuild of the package.
We've discussed this series during the Patchwork cleanupsession yesterday.
Peter was concerned about the overhead of those new rules, so it was decided I would do some testing before/after this pach was applied.
Here are the results of my testing.
All testing was done on the same machine, Core-i5 @2.5GHz, 12GiB RAM, and Samsung 840pro SSD, machine otherwise compeltely idle. Before running the tests, I warmed the cache with: tar cf - . >/dev/null
All tests were run on top of ed592d6: poppler: Install files into staging (master at the time I did the tests). Tests were out-of-tree, and the output was consigned to oblivion with >/dev/null an executed in the displayed sequence.
Before After
* make defconfig 1.28 1.27
make defconfig 0.34 0.34 [disable luajit]
make help 2.72 2.79
* make defconfig allyespackageconfig 1.34 1.38
make defconfig allyespackageconfig 0.44 0.44 [disable luajit]
make help 2.77 2.87
[switch to external toolchain, make allyespackageconfig, disable luajit]
make toolchain 21.05 21.73
[*] marks starting from a clean output directory.
I had to disable luajit, because both it and lua are providers of luainterpreter.
So, it seems the overhead is negligible.
So, the conclusion is: OK! ;-)
I'll do some further review on the code a bit later, but otherwise we decided to accept that feature.
Thank you!
Regards,
Yann E. MORIN.
Quoted 37 lines
In addition to allowing a reinstall to staging and/or target output directories, the proposed targets allow selected packages to be installed to a different 'target' directory. For example, I attempt to keep software updates as small as possible; therefore, I cherry-pick files to include in the update package. If I know packages foo and bar have been updated, the following will install those packages to a directory that can be further processed to generate the desired update package.
make TARGET_DIR=${PWD}/update foo-reinstall-target
make TARGET_DIR=${PWD}/update bar-reinstall-target
Doug Kehn (3):
pkg-generic.mk: reinstall targets
manual: reinstall targets
manual: style updatedocs/manual/package-make-target.txt | 26 ++++++++++++++++++++------ package/pkg-generic.mk | 22 ++++++++++++++++++++++ 2 files changed, 42 insertions(+), 6 deletions(-)---
Changes v2 -> v3:
- Move style updates to separate patch (requested by Thomos)Changes v1 -> v2:
- Reworked to include reinstall target (requested by Thomas)
- Updated documentationSignature · 6 lines
1.9.1 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'