[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Help building unstable git source packages for buster to get missing features ?



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.


Reply to: