FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Ubuntu > Kubuntu User

 
 
LinkBack Thread Tools
 
Old 03-17-2009, 01:25 AM
David Lehman
 
Default Create a Makefile target to generate updates.img automatically.

On Mon, 2009-03-16 at 15:17 -1000, David Cantrell wrote:
> Based on what's changed in the repo since the last release tag.
> Copy everything necessary for the updates.img in './updates-img'
> and pack it up. Got tired of having my own local scripts to do
> this.

Looks handy to me. Since you're doing the build tonight you'll be in a
position to fix it if it breaks things.

Ack.

>
> LIMITATIONS: Will not copy in dependent libraries or figure out
> if a new _isys.so needs to be built. Pass KEEP=y if you want the
> updates staging directory kept so you can dump other things in to
> it. Run 'make updates KEEP=y' over and over to supplement your
> updates image.
> ---
> Makefile | 35 +++++++++++++++++++++++++++++++++++
> 1 files changed, 35 insertions(+), 0 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index dd45b29..b2a75c7 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -169,3 +169,38 @@ bumpver:
>
> install-buildrequires:
> yum install $$(grep BuildRequires: anaconda.spec | cut -d ' ' -f 2)
> +
> +# Generate an updates.img based on the changed files since the release
> +# was tagged. Updates are copied to ./updates-img and then the image is
> +# created. By default, the updates subdirectory is removed after the
> +# image is made, but if you want to keep it around, run:
> +# make updates.img KEEP=y
> +# And since shell is both stupid and amusing, I only match the first
> +# character to be a 'y' or 'Y', so you can do:
> +# make updates.img KEEP=yosemite
> +# Ahh, shell.
> +updates:
> + @if [ ! -d updates-img ]; then
> + mkdir updates-img ;
> + fi ;
> + git diff --stat $(ARCHIVE_TAG) | grep " | " |
> + grep -v "^ loader/" | grep -v ".spec" | grep -v "Makefile" |
> + grep -v "^ po/" | grep -v "^ scripts/" |
> + while read sourcefile stuff ; do
> + dn="$$(dirname $$sourcefile)" ;
> + case $$dn in
> + installclasses|storage|booty)
> + cp -a $$dn updates-img ;
> + find updates-img/$$dn -type f | grep Makefile | xargs rm -f ;;
> + *)
> + cp -a $$sourcefile updates-img ;;
> + esac ;
> + done ;
> + cd updates-img ;
> + echo -n "Creating updates.img..." ;
> + ( find . | cpio -c -o | gzip -9c ) > ../updates.img ;
> + cd .. ;
> + keep="$$(echo $(KEEP) | cut -c1 | tr [a-z] [A-Z])" ;
> + if [ ! "$$keep" = "Y" ]; then
> + rm -rf updates-imgs ;
> + fi

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 

Thread Tools




All times are GMT. The time now is 09:23 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org