* [Buildroot] [PATCH v2 0/2] [RFC] Reinstall Targets
@ 2014-11-27 4:48 Doug Kehn
2014-11-27 4:48 ` [Buildroot] [PATCH v2 1/2] pkg-generic.mk: reinstall targets Doug Kehn
2014-11-27 4:48 ` [Buildroot] [PATCH v2 2/2] manual: " Doug Kehn
0 siblings, 2 replies; 5+ messages in thread
From: Doug Kehn @ 2014-11-27 4:48 UTC (permalink / raw)
To: buildroot
This RFC proposes adding the following targets to pkg-generic.mk:
<package>-reinstall
<package>-reinstall-target
<package>-reinstall-staging
<package>-reinstall-images
<package>-reinstall-host
These 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.
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 (2):
pkg-generic.mk: reinstall targets
manual: reinstall targets
docs/manual/package-make-target.txt | 26 ++++++++++++++++++++------
package/pkg-generic.mk | 28 +++++++++++++++++++++++++---
2 files changed, 45 insertions(+), 9 deletions(-)
---
Changes v1 -> v2:
- Reworked to include reinstall target (requested by Thomas)
- Updated documentation
--
1.9.1
^ permalink raw reply [flat|nested] 5+ messages in thread* [Buildroot] [PATCH v2 1/2] pkg-generic.mk: reinstall targets 2014-11-27 4:48 [Buildroot] [PATCH v2 0/2] [RFC] Reinstall Targets Doug Kehn @ 2014-11-27 4:48 ` Doug Kehn 2014-11-27 18:08 ` Yann E. MORIN 2014-11-27 4:48 ` [Buildroot] [PATCH v2 2/2] manual: " Doug Kehn 1 sibling, 1 reply; 5+ messages in thread From: Doug Kehn @ 2014-11-27 4:48 UTC (permalink / raw) To: buildroot Add reinstall targets for host, target, staging, and images variants. clean-for-reinstall targets added to remove package .stamp_target_install file to allow package install. Additionally, when OVERRIDE_SRCDIR is provided, .stamp_rsynced is removed to ensure pakcage is up to date before reinstalling. Signed-off-by: Doug Kehn <rdkehn@yahoo.com> --- package/pkg-generic.mk | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk index 9643a30..3c25778 100644 --- a/package/pkg-generic.mk +++ b/package/pkg-generic.mk @@ -480,34 +480,51 @@ $(1): $(1)-install ifeq ($$($(2)_TYPE),host) $(1)-install: $(1)-install-host +$(1)-reinstall: $(1)-reinstall-host else $(1)-install: $(1)-install-staging $(1)-install-target $(1)-install-images +$(1)-reinstall: $(1)-reinstall-staging $(1)-reinstall-target $(1)-reinstall-images endif ifeq ($$($(2)_INSTALL_TARGET),YES) -$(1)-install-target: $$($(2)_TARGET_INSTALL_TARGET) +$(1)-install-target: $$($(2)_TARGET_INSTALL_TARGET) +$(1)-reinstall-target: $(1)-clean-for-reinstall-target $$($(2)_TARGET_INSTALL_TARGET) +$(1)-clean-for-reinstall-target: $(1)-clean-for-reinstall + rm -f $$($(2)_TARGET_INSTALL_TARGET) $$($(2)_TARGET_INSTALL_TARGET): $$($(2)_TARGET_BUILD) else $(1)-install-target: +$(1)-reinstall-target: endif ifeq ($$($(2)_INSTALL_STAGING),YES) $(1)-install-staging: $$($(2)_TARGET_INSTALL_STAGING) +$(1)-reinstall-staging: $(1)-clean-for-reinstall-staging $$($(2)_TARGET_INSTALL_STAGING) +$(1)-clean-for-reinstall-staging: $(1)-clean-for-reinstall + rm -f $$($(2)_TARGET_INSTALL_STAGING) $$($(2)_TARGET_INSTALL_STAGING): $$($(2)_TARGET_BUILD) # Some packages use install-staging stuff for install-target $$($(2)_TARGET_INSTALL_TARGET): $$($(2)_TARGET_INSTALL_STAGING) else $(1)-install-staging: +$(1)-reinstall-staging: endif ifeq ($$($(2)_INSTALL_IMAGES),YES) -$(1)-install-images: $$($(2)_TARGET_INSTALL_IMAGES) -$$($(2)_TARGET_INSTALL_IMAGES): $$($(2)_TARGET_BUILD) +$(1)-install-images: $$($(2)_TARGET_INSTALL_IMAGES) +$(1)-reinstall-images: $(1)-clean-for-reinstall-images $$($(2)_TARGET_INSTALL_IMAGES) +$(1)-clean-for-reinstall-images: $(1)-clean-for-reinstall + rm -f $$($(2)_TARGET_INSTALL_IMAGES) +$$($(2)_TARGET_INSTALL_IMAGES): $$($(2)_TARGET_BUILD) else $(1)-install-images: +$(1)-reinstall-images: endif $(1)-install-host: $$($(2)_TARGET_INSTALL_HOST) +$(1)-reinstall-host: $(1)-clean-for-reinstall-host $$($(2)_TARGET_INSTALL_HOST) +$(1)-clean-for-reinstall-host: $(1)-clean-for-reinstall + rm -f $$($(2)_TARGET_INSTALL_HOST) $$($(2)_TARGET_INSTALL_HOST): $$($(2)_TARGET_BUILD) $(1)-build: $$($(2)_TARGET_BUILD) @@ -545,6 +562,8 @@ $$($(2)_TARGET_EXTRACT): $$($(2)_TARGET_SOURCE) $(1)-depends: $$($(2)_FINAL_DEPENDENCIES) $(1)-source: $$($(2)_TARGET_SOURCE) + +$(1)-clean-for-reinstall: else # In the package override case, the sequence of steps # source, by rsyncing @@ -563,6 +582,9 @@ $(1)-extract: $(1)-rsync $(1)-rsync: $$($(2)_TARGET_RSYNC) $(1)-source: $$($(2)_TARGET_RSYNC_SOURCE) + +$(1)-clean-for-reinstall: + rm -f $$($(2)_TARGET_RSYNC) endif $(1)-show-depends: -- 1.9.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v2 1/2] pkg-generic.mk: reinstall targets 2014-11-27 4:48 ` [Buildroot] [PATCH v2 1/2] pkg-generic.mk: reinstall targets Doug Kehn @ 2014-11-27 18:08 ` Yann E. MORIN 2014-11-27 18:32 ` Doug Kehn 0 siblings, 1 reply; 5+ messages in thread From: Yann E. MORIN @ 2014-11-27 18:08 UTC (permalink / raw) To: buildroot Doug, All, On 2014-11-26 22:48 -0600, Doug Kehn spake thusly: > Add reinstall targets for host, target, staging, and images variants. > clean-for-reinstall targets added to remove package > .stamp_target_install file to allow package install. Additionally, when > OVERRIDE_SRCDIR is provided, .stamp_rsynced is removed to ensure pakcage > is up to date before reinstalling. > > Signed-off-by: Doug Kehn <rdkehn@yahoo.com> > --- > package/pkg-generic.mk | 28 +++++++++++++++++++++++++--- > 1 file changed, 25 insertions(+), 3 deletions(-) > > diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk > index 9643a30..3c25778 100644 > --- a/package/pkg-generic.mk > +++ b/package/pkg-generic.mk > @@ -480,34 +480,51 @@ $(1): $(1)-install > > ifeq ($$($(2)_TYPE),host) > $(1)-install: $(1)-install-host > +$(1)-reinstall: $(1)-reinstall-host > else > $(1)-install: $(1)-install-staging $(1)-install-target $(1)-install-images > +$(1)-reinstall: $(1)-reinstall-staging $(1)-reinstall-target $(1)-reinstall-images > endif > > ifeq ($$($(2)_INSTALL_TARGET),YES) > -$(1)-install-target: $$($(2)_TARGET_INSTALL_TARGET) > +$(1)-install-target: $$($(2)_TARGET_INSTALL_TARGET) This patch is mixing style cleanups with actual new code. I'm not opposed to the cleanups, except they should be part of a seoarate patch. Regards, Yann E. MORIN. > +$(1)-reinstall-target: $(1)-clean-for-reinstall-target $$($(2)_TARGET_INSTALL_TARGET) > +$(1)-clean-for-reinstall-target: $(1)-clean-for-reinstall > + rm -f $$($(2)_TARGET_INSTALL_TARGET) > $$($(2)_TARGET_INSTALL_TARGET): $$($(2)_TARGET_BUILD) > else > $(1)-install-target: > +$(1)-reinstall-target: > endif > > ifeq ($$($(2)_INSTALL_STAGING),YES) > $(1)-install-staging: $$($(2)_TARGET_INSTALL_STAGING) > +$(1)-reinstall-staging: $(1)-clean-for-reinstall-staging $$($(2)_TARGET_INSTALL_STAGING) > +$(1)-clean-for-reinstall-staging: $(1)-clean-for-reinstall > + rm -f $$($(2)_TARGET_INSTALL_STAGING) > $$($(2)_TARGET_INSTALL_STAGING): $$($(2)_TARGET_BUILD) > # Some packages use install-staging stuff for install-target > $$($(2)_TARGET_INSTALL_TARGET): $$($(2)_TARGET_INSTALL_STAGING) > else > $(1)-install-staging: > +$(1)-reinstall-staging: > endif > > ifeq ($$($(2)_INSTALL_IMAGES),YES) > -$(1)-install-images: $$($(2)_TARGET_INSTALL_IMAGES) > -$$($(2)_TARGET_INSTALL_IMAGES): $$($(2)_TARGET_BUILD) > +$(1)-install-images: $$($(2)_TARGET_INSTALL_IMAGES) > +$(1)-reinstall-images: $(1)-clean-for-reinstall-images $$($(2)_TARGET_INSTALL_IMAGES) > +$(1)-clean-for-reinstall-images: $(1)-clean-for-reinstall > + rm -f $$($(2)_TARGET_INSTALL_IMAGES) > +$$($(2)_TARGET_INSTALL_IMAGES): $$($(2)_TARGET_BUILD) > else > $(1)-install-images: > +$(1)-reinstall-images: > endif > > $(1)-install-host: $$($(2)_TARGET_INSTALL_HOST) > +$(1)-reinstall-host: $(1)-clean-for-reinstall-host $$($(2)_TARGET_INSTALL_HOST) > +$(1)-clean-for-reinstall-host: $(1)-clean-for-reinstall > + rm -f $$($(2)_TARGET_INSTALL_HOST) > $$($(2)_TARGET_INSTALL_HOST): $$($(2)_TARGET_BUILD) > > $(1)-build: $$($(2)_TARGET_BUILD) > @@ -545,6 +562,8 @@ $$($(2)_TARGET_EXTRACT): $$($(2)_TARGET_SOURCE) > $(1)-depends: $$($(2)_FINAL_DEPENDENCIES) > > $(1)-source: $$($(2)_TARGET_SOURCE) > + > +$(1)-clean-for-reinstall: > else > # In the package override case, the sequence of steps > # source, by rsyncing > @@ -563,6 +582,9 @@ $(1)-extract: $(1)-rsync > $(1)-rsync: $$($(2)_TARGET_RSYNC) > > $(1)-source: $$($(2)_TARGET_RSYNC_SOURCE) > + > +$(1)-clean-for-reinstall: > + rm -f $$($(2)_TARGET_RSYNC) > endif > > $(1)-show-depends: > -- > 1.9.1 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v2 1/2] pkg-generic.mk: reinstall targets 2014-11-27 18:08 ` Yann E. MORIN @ 2014-11-27 18:32 ` Doug Kehn 0 siblings, 0 replies; 5+ messages in thread From: Doug Kehn @ 2014-11-27 18:32 UTC (permalink / raw) To: buildroot Hi Yann, All, On Thu, Nov 27, 2014 at 07:08:55PM +0100, Yann E. MORIN wrote: > Doug, All, > > On 2014-11-26 22:48 -0600, Doug Kehn spake thusly: > > Add reinstall targets for host, target, staging, and images variants. > > clean-for-reinstall targets added to remove package > > .stamp_target_install file to allow package install. Additionally, when > > OVERRIDE_SRCDIR is provided, .stamp_rsynced is removed to ensure pakcage > > is up to date before reinstalling. > > > > Signed-off-by: Doug Kehn <rdkehn@yahoo.com> > > --- > > package/pkg-generic.mk | 28 +++++++++++++++++++++++++--- > > 1 file changed, 25 insertions(+), 3 deletions(-) > > > > diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk > > index 9643a30..3c25778 100644 > > --- a/package/pkg-generic.mk > > +++ b/package/pkg-generic.mk > > @@ -480,34 +480,51 @@ $(1): $(1)-install > > > > ifeq ($$($(2)_TYPE),host) > > $(1)-install: $(1)-install-host > > +$(1)-reinstall: $(1)-reinstall-host > > else > > $(1)-install: $(1)-install-staging $(1)-install-target $(1)-install-images > > +$(1)-reinstall: $(1)-reinstall-staging $(1)-reinstall-target $(1)-reinstall-images > > endif > > > > ifeq ($$($(2)_INSTALL_TARGET),YES) > > -$(1)-install-target: $$($(2)_TARGET_INSTALL_TARGET) > > +$(1)-install-target: $$($(2)_TARGET_INSTALL_TARGET) > > This patch is mixing style cleanups with actual new code. > I'm not opposed to the cleanups, except they should be part of a > seoarate patch. > > Regards, > Yann E. MORIN. > I apologize, I did not know that style cleanup needed to be in a separate patch. I will resubmit. Thanks and regards, ...doug > > +$(1)-reinstall-target: $(1)-clean-for-reinstall-target $$($(2)_TARGET_INSTALL_TARGET) > > +$(1)-clean-for-reinstall-target: $(1)-clean-for-reinstall > > + rm -f $$($(2)_TARGET_INSTALL_TARGET) > > $$($(2)_TARGET_INSTALL_TARGET): $$($(2)_TARGET_BUILD) > > else > > $(1)-install-target: > > +$(1)-reinstall-target: > > endif > > > > ifeq ($$($(2)_INSTALL_STAGING),YES) > > $(1)-install-staging: $$($(2)_TARGET_INSTALL_STAGING) > > +$(1)-reinstall-staging: $(1)-clean-for-reinstall-staging $$($(2)_TARGET_INSTALL_STAGING) > > +$(1)-clean-for-reinstall-staging: $(1)-clean-for-reinstall > > + rm -f $$($(2)_TARGET_INSTALL_STAGING) > > $$($(2)_TARGET_INSTALL_STAGING): $$($(2)_TARGET_BUILD) > > # Some packages use install-staging stuff for install-target > > $$($(2)_TARGET_INSTALL_TARGET): $$($(2)_TARGET_INSTALL_STAGING) > > else > > $(1)-install-staging: > > +$(1)-reinstall-staging: > > endif > > > > ifeq ($$($(2)_INSTALL_IMAGES),YES) > > -$(1)-install-images: $$($(2)_TARGET_INSTALL_IMAGES) > > -$$($(2)_TARGET_INSTALL_IMAGES): $$($(2)_TARGET_BUILD) > > +$(1)-install-images: $$($(2)_TARGET_INSTALL_IMAGES) > > +$(1)-reinstall-images: $(1)-clean-for-reinstall-images $$($(2)_TARGET_INSTALL_IMAGES) > > +$(1)-clean-for-reinstall-images: $(1)-clean-for-reinstall > > + rm -f $$($(2)_TARGET_INSTALL_IMAGES) > > +$$($(2)_TARGET_INSTALL_IMAGES): $$($(2)_TARGET_BUILD) > > else > > $(1)-install-images: > > +$(1)-reinstall-images: > > endif > > > > $(1)-install-host: $$($(2)_TARGET_INSTALL_HOST) > > +$(1)-reinstall-host: $(1)-clean-for-reinstall-host $$($(2)_TARGET_INSTALL_HOST) > > +$(1)-clean-for-reinstall-host: $(1)-clean-for-reinstall > > + rm -f $$($(2)_TARGET_INSTALL_HOST) > > $$($(2)_TARGET_INSTALL_HOST): $$($(2)_TARGET_BUILD) > > > > $(1)-build: $$($(2)_TARGET_BUILD) > > @@ -545,6 +562,8 @@ $$($(2)_TARGET_EXTRACT): $$($(2)_TARGET_SOURCE) > > $(1)-depends: $$($(2)_FINAL_DEPENDENCIES) > > > > $(1)-source: $$($(2)_TARGET_SOURCE) > > + > > +$(1)-clean-for-reinstall: > > else > > # In the package override case, the sequence of steps > > # source, by rsyncing > > @@ -563,6 +582,9 @@ $(1)-extract: $(1)-rsync > > $(1)-rsync: $$($(2)_TARGET_RSYNC) > > > > $(1)-source: $$($(2)_TARGET_RSYNC_SOURCE) > > + > > +$(1)-clean-for-reinstall: > > + rm -f $$($(2)_TARGET_RSYNC) > > endif > > > > $(1)-show-depends: > > -- > > 1.9.1 > > > > _______________________________________________ > > buildroot mailing list > > buildroot at busybox.net > > http://lists.busybox.net/mailman/listinfo/buildroot > > -- > .-----------------.--------------------.------------------.--------------------. > | 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. | > '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] [PATCH v2 2/2] manual: reinstall targets 2014-11-27 4:48 [Buildroot] [PATCH v2 0/2] [RFC] Reinstall Targets Doug Kehn 2014-11-27 4:48 ` [Buildroot] [PATCH v2 1/2] pkg-generic.mk: reinstall targets Doug Kehn @ 2014-11-27 4:48 ` Doug Kehn 1 sibling, 0 replies; 5+ messages in thread From: Doug Kehn @ 2014-11-27 4:48 UTC (permalink / raw) To: buildroot Add reinstall target information to package-make-target.txt. Signed-off-by: Doug Kehn <rdkehn@yahoo.com> --- docs/manual/package-make-target.txt | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/docs/manual/package-make-target.txt b/docs/manual/package-make-target.txt index 25d3f44..35d787e 100644 --- a/docs/manual/package-make-target.txt +++ b/docs/manual/package-make-target.txt @@ -57,24 +57,38 @@ Additionally, there are some other useful make targets: [width="90%",cols="^1,4",options="header"] |=================================================== -| command/target | Description +| command/target | Description -| +show-depends+ | Displays the dependencies required to build the +| +show-depends+ | Displays the dependencies required to build the package -| +graph-depends+ | Generate a dependency graph of the package, in the +| +graph-depends+ | Generate a dependency graph of the package, in the context of the current Buildroot configuration. See xref:graph-depends[this section] for more details about dependency graphs. -| +dirclean+ | Remove the whole package build directory +| +dirclean+ | Remove the whole package build directory -| +rebuild+ | Re-run the compilation commands - this only makes +| +rebuild+ | Re-run the compilation commands - this only makes sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a file directly in the build directory -| +reconfigure+ | Re-run the configure commands, then rebuild - this only +| +reconfigure+ | Re-run the configure commands, then rebuild - this only makes sense when using the +OVERRIDE_SRCDIR+ feature or when you modified a file directly in the build directory +| +reinstall-staging+ | +*target package:* Re-run the installation of the package in the staging +directory - this only makes sense when overriding +STAGING_DIR+ + +| +reinstall-target+ | +*target package:* Re-run the installation of the package in the target +directory - this only makes sense when overriding +TARGET_DIR+ + +| +reinstall+ | +*target package:* Run the 2 previous re-installation commands + +*host package:* Re-run the installation of the package in the host +directory + |=================================================== -- 1.9.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-11-27 18:32 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-11-27 4:48 [Buildroot] [PATCH v2 0/2] [RFC] Reinstall Targets Doug Kehn 2014-11-27 4:48 ` [Buildroot] [PATCH v2 1/2] pkg-generic.mk: reinstall targets Doug Kehn 2014-11-27 18:08 ` Yann E. MORIN 2014-11-27 18:32 ` Doug Kehn 2014-11-27 4:48 ` [Buildroot] [PATCH v2 2/2] manual: " Doug Kehn
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox