thaytan / gst-rpicamsrc

GStreamer element for the Raspberry Pi camera module
Other
262 stars 101 forks source link

Remove deprecated tooling #91

Closed phardy closed 5 years ago

phardy commented 5 years ago

Hey folks.

I'm working on a fresh install of Raspbian Buster (installed from the 'Lite' image downloaded from raspberrypi.org), and can't build a deb for this package. All build deps are satisfied, but the build fails because I don't have meson installed:

~/gst-rpicamsrc $ dpkg-buildpackage -us -uc
dpkg-buildpackage: info: source package gstreamer1.0-rpicamsrc
dpkg-buildpackage: info: source version 1.0.0
dpkg-buildpackage: info: source distribution wheezy
dpkg-buildpackage: info: source changed by  hornetwl <hornetwlfpv@googlemail.com>
dpkg-buildpackage: info: host architecture armhf
 dpkg-source --before-build .
 fakeroot debian/rules clean
dh clean  --with autotools-dev
dh: The autotools-dev sequence is deprecated and replaced by dh in debhelper (>= 9.20160115)
dh: This feature will be removed in compat 12.
   dh_auto_clean
   dh_autotools-dev_restoreconfig
dh_autotools-dev_restoreconfig: dh_autotools-dev_restoreconfig is deprecated; please see dh_autotools-dev_restoreconfig(1) for a replacement
dh_autotools-dev_restoreconfig: This feature will be removed in compat 12.
   dh_clean
 dpkg-source -b .
dpkg-source: info: using source format '3.0 (native)'
dpkg-source: info: building gstreamer1.0-rpicamsrc in gstreamer1.0-rpicamsrc_1.0.0.tar.xz
dpkg-source: info: building gstreamer1.0-rpicamsrc in gstreamer1.0-rpicamsrc_1.0.0.dsc
 debian/rules build
dh build  --with autotools-dev
dh: The autotools-dev sequence is deprecated and replaced by dh in debhelper (>= 9.20160115)
dh: This feature will be removed in compat 12.
   dh_update_autotools_config
   dh_autotools-dev_updateconfig
dh_autotools-dev_updateconfig: dh_autotools-dev_updateconfig is deprecated; please see dh_autotools-dev_updateconfig(1) for a replacement
dh_autotools-dev_updateconfig: This feature will be removed in compat 12.
   dh_auto_configure
    cd obj-arm-linux-gnueabihf && LC_ALL=C.UTF-8 meson .. --wrap-mode=nodownload --buildtype=plain --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=lib/arm-linux-gnueabihf --libexecdir=lib/arm-linux-gnueabihf
Can't exec "meson": No such file or directory at /usr/share/perl5/Debian/Debhelper/Dh_Lib.pm line 475.
dh_auto_configure: cd obj-arm-linux-gnueabihf && LC_ALL=C.UTF-8 meson .. --wrap-mode=nodownload --buildtype=plain --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=lib/arm-linux-gnueabihf --libexecdir=lib/arm-linux-gnueabihf failed to execute: No child processes
dh_auto_configure: cd obj-arm-linux-gnueabihf && LC_ALL=C.UTF-8 meson .. --wrap-mode=nodownload --buildtype=plain --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=lib/arm-linux-gnueabihf --libexecdir=lib/arm-linux-gnueabihf returned exit code 2
make: *** [debian/rules:25: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2

So this PR just explicitly lists meson in the Build-Depends.

thaytan commented 5 years ago

Hello! This doesn't feel like quite the right fix - it seems like there's a deprecation that should be fixed - but if it fixes the build for you I'm happy to take it.

phardy commented 5 years ago

I didn't look in to it any further than noting the presence of a couple of meson.build files and figuring that seemed legit. If it's deprecated I'll see if I can clean it up properly.

phardy commented 5 years ago

OK! I removed everything I could find related to meson, and additionally cleaned up the warnings about the deprecated dh tooling in autodev-tools, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=878528

The build is much cleaner on my Buster install now. It still throws this warning

dpkg-gencontrol: warning: Depends field of package gstreamer1.0-rpicamsrc: substitution variable ${shlibs:Depends} used, but is not defined

I was a little reluctant to just remove the auto dependency stuff from the control file though.

tp-m commented 5 years ago

Hrm? Meson is not deprecated and should not be removed.

phardy commented 5 years ago

OK! I'll leave it to the people who know how this code works to untangle it.

thaytan commented 5 years ago

Yeah - wrong way around! Autotools is the old stuff and will be removed at some point. I think the breakage you encountered is a behavioural change in debhelper - it's detected the meson build files and tried to use them, but couldn't without meson being installed. It used to work because debhelper would use the autotools build as the default.

Anyway, if it's working for you I'd leave it alone. The real plan when I get time is to merge this element into the normal GStreamer plugins.