Proposal: Split libtalloc, libtdb, libtevent and libldb into a separate upstream project
tridge at samba.org
tridge at samba.org
Fri Jan 7 17:28:08 MST 2011
Hi Stephen,
> The problem we have right now is that, as they are currently developed,
> it is prohibitively difficult to get release tarballs created for these
> packages in a timely manner.
Can you explain that a little more? The command "make dist" should
work in each library subdirectory to create a release tarball. I've
just tested that for talloc, tdb, tevent and ldb on my system and it
worked fine. If there is a problem with it then we certainly need to
fix that.
Here are some additional notes about "make dist" that you may find
useful:
1) the waf build system looks for a file called .lock-wscript to find
the top of the build directory. If you have a completely clean git
tree, and run "make dist" it will not work, as it will fail to
find the root directory to run it. You can fix this either by
running ./configure first, or just do "touch .lock-wscript" before
you run "make dist". You should remove that .lock-wscript
afterwards as it would interfere with normal build (an empty
.lock-wscript is not valid for a normal build, it just happens to
work for 'make dist').
I'll have a look at making "make dist" work without a
.lock-wscript file to make this a bit easier.
2) the resulting tarball from "make dist" will be self contained. It
will contain all the dependent libraries and the build system
files as well as the library you are building. So for example if
you do "make dist" in source4/ldb you end up with a tarball
ldb-0.9.22.tar.gz which contains a copy of the ldb tree, plus
these additional directories:
ldb-0.9.22/buildtools/*
ldb-0.9.22/lib/replace/*
ldb-0.9.22/lib/talloc/*
ldb-0.9.22/lib/tdb/*
ldb-0.9.22/lib/tevent/*
The resulting tarball should be exactly what you need to include
in the SRPM for ldb. You don't have to use those included
libraries of course, and you can use configure options to control
whether to use the bundled libraries or not, but the tarball
should contain everything that is needed to build ldb regardless
of what combination of system libraries you choose to use.
3) These is a command "make distcheck" that will test that the
tarball is complete. It creates the tarball, then unpacks it in a
temporary directory, then runs a configure, build and install in
that directory.
> Furthermore, as Simo discovered today, with the change to the new WAF
> build-system, it is no longer a simple matter to extract the sources for
> these libraries to do an independent tarball release.
Can you try the above commands and see if these is any problem with
them for you?
> So what I would like to see is for the samba project to split these
> libraries off into their own upstream project and git repository, where
> development of these libraries can happen in parallel to Samba
> development
before we consider those sorts of solutions, I'd like to first
understand why what we have now is not working.
Cheers, Tridge
More information about the samba-technical
mailing list