Mailinglist Archive: opensuse-packaging (49 mails)

< Previous Next >
Re: [opensuse-packaging] Following upstream git repo with gnulib: "./bootstrap && ./configure && make" without network?
On 12/5/18 12:49 PM, Dominique Leuenberger / DimStar wrote:
On Fri, 2018-11-30 at 23:17 +0100, Bernhard Voelker wrote:
Hi *,

I'm trying to follow an upstream GNU package's Git repo which has a gnulib
submodule, and PO files from 'translationproject.org'.

Example:
https://build.opensuse.org/package/show/home:berny:branches:fromgit/hello

Do I do it right?

Long story:
In this case, I need to create a distribution tarball without gnulib
and PO from network. Furthermore, "obs_scm" service doesn't create
a full Git clone; so in my example - GNU hello, for simplicity - I needed
to add a hack to be able to create the manpage.

The idea is:

a) let _service get the package from the remote Git repo.
(unfortunately, this yields the working tree without the '.git/' history).

b) let _service download the PO files --> "SourceXY".

c) GNU hello specific: manpage creating is usually only done in
maintainer environment, i.e., with a '.git/' directory. Add a
little patch to work around it.

This seems like a bogus check in the upstreamcode: man page should be
created if asked for and not in place. the presence of .git should not
matter

yes, this is specific to GNU hello.
I used that as example - my actual package is findutils (which needs other
quirks).

d) in '%prep'', copy the PO files into the build tree.

e) in '%build', create the LINGUAS file.

f) in %build:
f.1) create the intermediate distribution tarball using:
./bootstrap ... && ./configure && make all dist

creating the dist tarball should not be nescesasry and can be skipped.
You can make/make install directly out of the git checkout tree

Yes, that's true, I know. I added it to have both the creation of the
distribution tarball and that of the final package automatically tested
by OBS incl. VPATH builds.

f.2) create the final build from the above distribution tarball:
tar -xf ... && ./configure && make

As above, this can be skipped


Does anybody else do something like that?

Have a look for example at:

openSUSE:Factory/appstream-glib

we get the git checkout using _service and build from it (it has no
submodules, but submodules are supported by OBS)

Thanks for the pointer. That project doesn't seem to have additional downloads
like the PO files in GNU hello or findutils. And yes, downloading the gnulib
submodule works great with "obs_scm".

The tricky part is to work around the ./bootstrap which usually
a) downloads the PO files,
b) expects a .git repo to at least derive the version from it
(-->'.tarball-version').

Well, for now it works, and I can install my own findutils built from the
upstream
Git repo at 'git.sv.gnu.org' on my Tumbleweed. ;-)

Thanks & have a nice day,
Berny
--
To unsubscribe, e-mail: opensuse-packaging+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-packaging+owner@xxxxxxxxxxxx

< Previous Next >