Bug #6349
openexample configs missing in release tarballs
0%
Description
Today I created a release osmo-bts v1.7.2
package for Arch Linux:
https://aur.archlinux.org/packages/osmo-bts
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=osmo-bts
which downloads, unpacks, and builds the latest release tarball:
https://downloads.osmocom.org/releases/osmo-bts/osmo-bts-1.7.2.tar.bz2
Unfortunately, I am hitting a build error when running makepkg
:
Making all in doc make[2]: Entering directory '/home/fixeria/projects/archlinux/osmo-bts/src/osmo-bts-1.7.2/doc' Making all in examples make[3]: Entering directory '/home/fixeria/projects/archlinux/osmo-bts/src/osmo-bts-1.7.2/doc/examples' make[3]: *** No rule to make target 'trx/osmo-bts-trx.cfg', needed by 'all-am'. Stop. make[3]: Leaving directory '/home/fixeria/projects/archlinux/osmo-bts/src/osmo-bts-1.7.2/doc/examples' make[2]: *** [Makefile:387: all-recursive] Error 1 make[2]: Leaving directory '/home/fixeria/projects/archlinux/osmo-bts/src/osmo-bts-1.7.2/doc' make[1]: *** [Makefile:446: all-recursive] Error 1 make[1]: Leaving directory '/home/fixeria/projects/archlinux/osmo-bts/src/osmo-bts-1.7.2' make: *** [Makefile:378: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting...
The problem can be reproduced by downloading and building the tarball manually (make sure to build with --enable-trx
).
Surprisingly, trx/osmo-bts-trx.cfg
is not present in the release tarball:
$ tar -tvf osmo-bts-1.7.2.tar.bz2 | grep doc/examples drwxr-xr-x 1000/1000 0 2023-12-15 12:19 osmo-bts-1.7.2/doc/examples/ -rw-r--r-- 1000/1000 23617 2023-12-15 12:19 osmo-bts-1.7.2/doc/examples/Makefile.in drwxr-xr-x 1000/1000 0 2023-12-15 12:19 osmo-bts-1.7.2/doc/examples/virtual/ -rw-r--r-- 1000/1000 1271 2023-12-15 12:19 osmo-bts-1.7.2/doc/examples/virtual/osmo-bts-virtual.cfg -rw-r--r-- 1000/1000 1501 2023-12-15 12:19 osmo-bts-1.7.2/doc/examples/Makefile.am
I believe the problem is that in doc/examples/Makefile.am
we add config files to EXTRA_DIST
conditionally:
if ENABLE_TRX
doc_trxdir = $(docdir)/examples/osmo-bts-trx
doc_trx_DATA = \
trx/osmo-bts-trx.cfg \
trx/osmo-bts-trx-calypso.cfg
EXTRA_DIST += $(doc_trx_DATA)
OSMOCONF_FILES += trx/osmo-bts-trx.cfg
endif
So if the project is configured without --enable-foo
, then make dist-bzip2
will produce a tarball without those files added conditionally.