Creating a "source zip"

View: New views
2 Messages — Rating Filter:   Alert me  

Creating a "source zip"

by Michael Medin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

Something I have been trying to figure out is how to create a source zip
file.
Something which should be pretty straight forward but seems to be harder
then I expected.

My idea is to either copy all the interesting files and then zip the
directory or to zip the relevant files but I am not really sure how to
go about it.
In general I have trouble with the common.copy thing as it always
generates "recursive rules" so maybe that is the problem:

I started out like so:

all-sources =
     [ glob-tree *.cpp *.h *.hpp : .svn ]
     ;
for local l in $(all-sources)
{
     install $(l) : $(l) : source ;
     #make $(l) : $(l) : common.copy ;
     echo "Adding source for: $(l)" ;
     explicit $(l) ;
}

alias all-sources-targets : $(all-sources) ;
explicit all-sources-targets ;

alias build-sources : all-sources-targets :
<location>$(BOOST_STAGE_LOCATE)/source ;
explicit build-sources ;

but it does not work so I am open to ideas...


// Michael Medin
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

Re: Creating a "source zip"

by Matthew Chambers-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Michael,

If you can use tarballs instead of zips, you can use the tar.jam I wrote
for pwiz:
http://proteowizard.svn.sourceforge.net/viewvc/proteowizard/trunk/pwiz/libraries/tar.jam?revision=1339&view=markup

using tar ; # default tar binary is expecting 'tar' in the PATH, so you
must add ": <path to tar>" if necessary
import tar ;

tar.create source-tarball.tar.bz2
: a.cpp b.cpp [ glob *.h ] # sources
: <conditional>@conditional-tar-sources # use the <tar-source> feature
 <location>where-to-create-tarball
;

You use the "path-anchor:" prefix in sources to change the directory
(the equivalent of the -C option to tar).

-Matt


Michael Medin wrote:

> Hello,
>
> Something I have been trying to figure out is how to create a source
> zip file.
> Something which should be pretty straight forward but seems to be
> harder then I expected.
>
> My idea is to either copy all the interesting files and then zip the
> directory or to zip the relevant files but I am not really sure how to
> go about it.
> In general I have trouble with the common.copy thing as it always
> generates "recursive rules" so maybe that is the problem:
>
> I started out like so:
>
> all-sources =
>     [ glob-tree *.cpp *.h *.hpp : .svn ]
>     ;
> for local l in $(all-sources)
> {
>     install $(l) : $(l) : source ;
>     #make $(l) : $(l) : common.copy ;
>     echo "Adding source for: $(l)" ;
>     explicit $(l) ;
> }
>
> alias all-sources-targets : $(all-sources) ;
> explicit all-sources-targets ;
>
> alias build-sources : all-sources-targets :
> <location>$(BOOST_STAGE_LOCATE)/source ;
> explicit build-sources ;
>
> but it does not work so I am open to ideas...
>
>
> // Michael Medin
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost-build
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build