On 5/2/06, Daniel Schepler <[EMAIL PROTECTED]> wrote:
Le Dimanche 30 Avril 2006 23:24, Eddy Petrişor a écrit:
> > -install:
> > +build:
> > +       VERSION=$(shell dpkg-parsechangelog | grep 'Version: ' | cut -f2
> > -d' ') +#      @echo $(value VERSION)
> > +       sed "s/^[[:space:]]*\(APTZIPVERSION=\).*$$/\1$(VERSION)/"
> > <common.sh.in >common.sh
> > +       sed s/APTZIPVERSION=.*$$/$(value VERSION)/ <common.sh.in
> >common.sh

The problem with this is that it's trying to execute the VERSION=... as a
shell command in the target -- and on a line by itself, the result gets lost
immediately, since each line gets passed to a separate subshell.  You could


I guess the things are the same if the line is written as either:

sed "s/^[[:space:]]*\(APTZIPVERSION=\).*$$/\1$(VERSION)/"
<common.sh.in >common.sh

or

sed "s/^[[:space:]]*\(APTZIPVERSION=\).*$$/\1${VERSION}/"

I never understood these sublteties. Any pointers to documentation
that could explain this?


fix this either by moving the VERSION=... outside the target (and removing
the tab), or by doing something like
        VERSION=`dpkg-parsechangelog ...`; \
        sed "...$$VERSION" <common.sh.in >common.sh

I guess it wouldn't harm to calculate the VERSION outside of any of
the targets. The makefile doesn't have too many of them ;-)

I will test this as soon I get home this evening and will communicate
the results.
I guess after closing this and testing the md5 sum change (#184354,
revision 38+39 [1]) we could release 0.14. Giacomo?

[1] http://svn.debian.org/wsvn/apt-zip/trunk/?rev=39&sc=1

--
Regards,
EddyP
=============================================
"Imagination is more important than knowledge" A.Einstein

Reply via email to