geremyk / google-gdata

Automatically exported from code.google.com/p/google-gdata
0 stars 0 forks source link

Linux packaging-friendly tarball #158

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
I'm looking at packging these libraries for Debian (and hence Ubuntu).
It would be nice to have a release tarball that's useful for packaging -
the svn tree contains such goodies as a Makefile that builds and installs
all the libraries, but the "Google Data APIs SDK(1.2.1.0).zip" release
doesn't contain this Makefile (and has a significantly different layout).

It would be great to have a tarball that's easily buildable with mono and
standard tools.  Ideally it would also not contain pre-built libraries, but
that's nowhere near as important to me.  I can package from a svn checkout,
but a released, versioned tarball would be nicer all-round!

Original issue reported on code.google.com by chalsero...@gmail.com on 3 Aug 2008 at 4:55

GoogleCodeExporter commented 8 years ago
What do you need to make this easy for you?  The reason the layout from the zip 
is different is that it is build 
after the installed version created from the MSI.... 

Give me some details what you want. I am not an expert in tarballs and 
packaging, so write slowly :)

Frank

Original comment by fman...@gmail.com on 4 Aug 2008 at 10:06

GoogleCodeExporter commented 8 years ago
The absolute most important thing I need is an easy way to build & install the
library from the sources.  The Makefile in svn is perfectly adequate for this 
task.

Also highly important is copyright attribution; it'd be good to have a 
COPYRIGHT file
or some such detailing the license of the code in the tarball.  Almost all of 
the
files have copyright headers[1], which makes my job easier, but it'd be nice to 
have
the overall license spelled out explicitly in the tarball.

Other things in rough order of importance:
*) It would be nice if the build created signed assemblies.  We can only install
strong-named assemblies into the GAC, and the library is obviously much more 
useful
if it is in the GAC.

*) It would be good if the release did not contain any prebuilt libraries - we 
don't
need a win32 build of zlib for x86 and arm, for example.  We would need to strip
these libraries (and the prebuilt libraries in lib/, too) from the source 
package.

*) It would be nice if the release was an actual tarball.  That is, if it were a
gzipped tar archive containing a directory "libgoogle-gdata-1.2.1.0" (or 
whatever
you'd like to call the library) which contained the sources.  Such an archive 
can be
created by "tar czf libgoogle-gdata-1.2.1.0.tar.gz libgoogle-gdata-1.2.1.0" or
equivalent commands.

*) It would be nice to be able to run the testsuite as a part of the build.  I 
don't
think this is your problem, though.  I just need to work out how to exclude all 
the
tests which require an internet connection or API key.

In total, what I would ideally like is something like this:
*) Take what's in svn.  
*) Move clients/cs -> libgoogle-data-sharp-1.2.1.0 (or whatever you want to 
call it)
*) Remove the lib directory
*) Add a COPYRIGHT file saying that unless otherwise indicated that all files 
are (c)
Google 2008 and are released under the Apache 2.0 license.
*) Hook up the various AssemblyInfo.cs files so that the libraries get signed
*) Change 1.2.1.* -> 1.2.1.0 in version/AssemblyInfo.cs (you appear to already 
do
this for release)
*) Create a tarball containing the libgoogle-data-sharp-1.2.1.0 directory, and 
stick
it on the website.
*) Have a nice $BEVERAGE, knowing that you've made the lives of linux packagers 
much
easier :).

None of these things, with the possible exception of the COPYRIGHT stuff, make 
it
impossible to package but doing any of the above would make my life easier.

[1] With the unittests/ and Samples/ code being most of the files without 
headers. 
There are also a couple of files in the library without headers: 
core/gzipstream.cs,
gapps/appsexception.cs, gbase/numberunit.cs, and AssemblyInfo.cs in gapps and 
gbase.
 Maybe these are unintentional oversights?

Original comment by chalsero...@gmail.com on 6 Aug 2008 at 1:10

GoogleCodeExporter commented 8 years ago
Ping!

It's been a while, and you seem to have released another minor version.

Is there anything more you need from me?  I could probably whip up a 'dist' 
target
for the Makefile in svn if that would be helpful.

Original comment by chalsero...@gmail.com on 22 Sep 2008 at 6:37

GoogleCodeExporter commented 8 years ago
I am sorry, there was a lot going on. I will start working on this next week. 
As you see this is accepted, and 
therefore it will be done - there was just a lot going on :) If you want to 
chip in, i am more than happy to see a 
patch file from you :) 

Original comment by fman...@gmail.com on 24 Sep 2008 at 4:48

GoogleCodeExporter commented 8 years ago
I modified the makefile and created a maketar.sh script in the misc directory. 
I am talking to legal about the 
copyright notice to insert. Can you check the shell script to see if the 
created tar file is what you need (as soon as 
this is all done, i put a tarfile on the download starting with the next 
release).

Original comment by fman...@gmail.com on 6 Oct 2008 at 11:26

GoogleCodeExporter commented 8 years ago
That looks good, with only one nitpick: you've missed samples/YouTubeSample/Bin 
from
the dll purge.  It's possible that this isn't actually meant to be in svn, 
since none
of the other samples appear to include binaries.

Here's a trivial patch to maketar to fix this, with some extra insurance.  
Thanks muchly!

Original comment by chalsero...@gmail.com on 7 Oct 2008 at 9:44

Attachments:

GoogleCodeExporter commented 8 years ago
I put this patch in there. Is there anything else you need, beside me creating 
the tarball in the future? 

Frank

Original comment by fman...@gmail.com on 9 Oct 2008 at 11:44

GoogleCodeExporter commented 8 years ago
Done. 

Original comment by fman...@gmail.com on 31 Oct 2008 at 1:38