I've tried to figure out this myself, but have been forced here. I need
to enable a feature which was added in git but not packaged for buster
yet, I have exactly the same problem with Ubuntu Bionic. I would like to
make unstable packages of this for releasing to raspberry PI also.
I've tried every method possible with failures. I've looked at possibly
1000 pages of documentation, but it's not explanatory enough with zero
detailed command examples.
What is the process for starts of building this repository, via
git-pbuilder with the dependancies installed in git-pbuilder ? I get
dependancy issues even after installing them.
I dont want the dependancies stored in the system, I will have to modify
the rules, as I am reducing what is installed with custom configure
args.
This is my process so far.
git clone https://salsa.debian.org/gstreamer-team/gstreamer1.0.git
sudo apt install git-buildpackage cowbuilder debian-archive-keyring
DIST=buster git-pbuilder create
DIST=buster git-pbuilder login --save-after-login
apt-get install cdbs gnome-pkg-tools libgmp3-dev libgsl-dev libgsl0-dev
libgirepository1.0-dev libcap-dev eatmydata
exit
cd gstreamer1.0
gbp buildpackage --git-tarball-dir=$PWD --git-ignore-new
--git-no-create-orig --git-pbuilder --git-dist=buster
I get this
gbp:info: Building with (cowbuilder) for buster
gbp:info: Performing the build
Building with cowbuilder for distribution buster
W: /home/danielr/.pbuilderrc does not exist
I: using cowbuilder as pbuilder
dpkg-checkbuilddeps: error: Unmet build dependencies: cdbs (>= 0.4.93~)
gnome-pkg-tools (>= 0.7) gtk-doc-tools (>= 1.12) zlib1g-dev (>= 1:1.1.4)
libglib2.0-dev (>= 2.40) libgmp-dev | libgmp3-dev libgsl-dev |
libgsl0-dev pkg-config (>= 0.11.0) bison (>= 1:2.4) flex (>= 2.5.34)
perl-doc libgirepository1.0-dev (>= 0.9.12-4~) gobject-introspection (>=
0.9.12-4~) libcap-dev
W: Unmet build-dependency in source
debian/rules:7: /usr/share/gnome-pkg-tools/1/rules/clean-la.mk: No such
file or directory
Im assuming I need some files on my system not in the chroot
sudo apt-get install cdbs gnome-pkg-tools
Run it again
gbp buildpackage --git-tarball-dir=$PWD --git-ignore-new
--git-no-create-orig --git-pbuilder --git-dist=buster
gbp:debug: ['git', 'rev-parse', '--show-cdup']
gbp:debug: ['git', 'rev-parse', '--is-bare-repository']
gbp:debug: ['git', 'rev-parse', '--git-dir']
gbp:debug: /bin/true [] []
gbp:debug: ['git', 'symbolic-ref', 'HEAD']
gbp:debug: ['git', 'show-ref', 'refs/heads/master']
gbp:info: Building with (cowbuilder) for buster
gbp:info: Performing the build
gbp:debug: git-pbuilder [] []
Building with cowbuilder for distribution buster
W: /home/danielr/.pbuilderrc does not exist
I: using cowbuilder as pbuilder
dpkg-checkbuilddeps: error: Unmet build dependencies: gtk-doc-tools (>=
1.12) zlib1g-dev (>= 1:1.1.4) libglib2.0-dev (>= 2.40) libgmp-dev |
libgmp3-dev libgsl-dev | libgsl0-dev pkg-config (>= 0.11.0) bison (>=
1:2.4) flex (>= 2.5.34) perl-doc libgirepository1.0-dev (>= 0.9.12-4~)
gobject-introspection (>= 0.9.12-4~) libcap-dev
W: Unmet build-dependency in source
CDBS WARNING: copyright-check disabled - touch debian/copyright_hints
to enable.
rm -f debian/control
cat debian/control.in | \
sed 's/@GST_VERSION@/1.16.0/g' | \
sed 's/@GST_PKGNAME@/gstreamer1.0/g' | \
sed 's/@GST_ABI@/1.0/g' | \
sed 's/@GST_LIB_PREFIX@/libgstreamer1.0/g' | \
sed 's/@GST_LIB@/libgstreamer1.0-0/g' | \
sed 's/@GST_LIB_DEV@/libgstreamer1.0-dev/g' \
> debian/control
test -x debian/rules
rm -f debian/stamp-makefile-build debian/stamp-makefile-install
/usr/bin/make -C . -k distclean
make[1]: Entering directory
'/home/danielr/Downloads/gstreamer/gstreamer1.0'
make[1]: *** No rule to make target 'distclean'.
make[1]: Leaving directory
'/home/danielr/Downloads/gstreamer/gstreamer1.0'
make: [/usr/share/cdbs/1/class/makefile.mk:91: makefile-clean] Error 2
(ignored)
rm -f debian/stamp-makefile-check
rm -f debian/stamp-autotools
rmdir --ignore-fail-on-non-empty .
rmdir: failed to remove '.': Invalid argument
make: [/usr/share/cdbs/1/class/autotools.mk:64: makefile-clean] Error 1
(ignored)
set -e;
if test -e debian/autoreconf.before; then \
dh_autoreconf_clean ; \
fi
dh_clean
rm -f debian/stamp-autotools-files
rm -f debian/copyright_newhints
rm -f debian/cdbs-install-list debian/cdbs-package-list
debian/stamp-copyright-check
rm -rf "debian/upstream-cruft"
rm -f debian/stamp-upstream-cruft
for f in debian/libgstreamer1.0-0.install
debian/libgstreamer1.0-0.symbols debian/libgstreamer1.0-0.postinst
debian/libgstreamer1.0-dev.install debian/libgstreamer1.0-dev.preinst
debian/libgstreamer1.0-dev.postrm debian/gstreamer1.0-doc.install
debian/gstreamer1.0-doc.links debian/gstreamer1.0-tools.install
debian/gstreamer1.0-tools.links debian/gstreamer1.0-tools.manpages
debian/gir1.2-gstreamer-1.0.install; do \
rm -f $f; \
done
rm -f debian/shlibs.local
rm -rf /home/danielr/Downloads/gstreamer/gstreamer1.0/fake-home
dpkg-source: error: can't build with source format '3.0 (quilt)': no
upstream tarball found at
../gstreamer1.0_1.16.0.orig.tar.{bz2,gz,lzma,xz}
gbp:error: 'git-pbuilder' failed: it exited with 25
With this
gbp buildpackage -uc -us --git-ignore-new --git-pristine-tar
produces
gbp:warning: Unknown compression type of Upload to unstable., assuming
gzip
gbp:info: Creating
/home/danielr/Downloads/gstreamer/gstreamer1.0_1.16.0.orig.tar.gz
gbp:error: Error creating gstreamer1.0_1.16.0.orig.tar.gz: Pristine-tar
couldn't checkout "gstreamer1.0_1.16.0.orig.tar.gz": fatal: Path
'gstreamer1.0_1.16.0.orig.tar.gz.delta' does not exist in
'refs/heads/pristine-tar'
pristine-tar: git show
refs/heads/pristine-tar:gstreamer1.0_1.16.0.orig.tar.gz.delta failed
I've looked at this style method, but the feature is missing from it,
its only in git. I'd like to keep up to date with the git sources.
Ideally even this the git sources are out of sync with the original
sources. I tried to build from the original sources with a copied debian
directory with failures too.
dget -u
http://deb.debian.org/debian/pool/main/g/gstreamer1.0/gstreamer1.0_1.16.0-2.1.dsc
manually configuring and making all of the projects was done in seconds,
but the packages have specific configure commands and some some path
wasnt configuring correctly failing to find things. And it needs to be
distributed to PI so custom packages are required to build.
This project has a build system, but it was also a failure and gave up
with it, not getting much help to resolve debian packages problems and
it includes system files.
Let me know.