danfruehauf / NetworkManager-ssh

SSH VPN integration for NetworkManager
Other
253 stars 40 forks source link

Some depcreation issues with 1.2.7 and libnm 1.10.2 #74

Closed lhw closed 5 years ago

lhw commented 6 years ago

Was packaging the new version for debian just now. And I am running into a deprecation error as unstable only has libnm 1.10.2 available for building. It boils down to these three:

In file included from /usr/include/libnm/nm-utils.h:38:0,
                 from /usr/include/libnm/nm-setting-ip-config.h:31,
                 from /usr/include/libnm/nm-setting-ip4-config.h:30,
                 from /usr/include/libnm/NetworkManager.h:72,
                 from nm-ssh-service.c:49:
/usr/include/libnm/nm-setting-tc-config.h:43:1: error: 'NMTCQdisc' is deprecated: Not available before 1.10.2 [-Werror=deprecated-declarations]
 void        nm_tc_qdisc_ref                  (NMTCQdisc *qdisc);
 ^~~~
/usr/include/libnm/nm-setting-tc-config.h:32:16: note: declared here
 typedef struct NMTCQdisc NMTCQdisc;
                ^~~~~~~~~
/usr/include/libnm/nm-setting-tc-config.h:75:1: error: 'NMTCAction' is deprecated: Not available before 1.10.2 [-Werror=deprecated-declarations]
 void        nm_tc_action_ref                 (NMTCAction *action);
 ^~~~
/usr/include/libnm/nm-setting-tc-config.h:65:16: note: declared here
 typedef struct NMTCAction NMTCAction;
                ^~~~~~~~~~
/usr/include/libnm/nm-setting-tc-config.h:111:1: error: 'NMTCTfilter' is deprecated: Not available before 1.10.2 [-Werror=deprecated-declarations]
 void        nm_tc_tfilter_ref                (NMTCTfilter *tfilter);
 ^~~~
/usr/include/libnm/nm-setting-tc-config.h:100:16: note: declared here
 typedef struct NMTCTfilter NMTCTfilter;
                ^~~~~~~~~~~

Versions used to build: libnm 1.10.2 libnma 1.8.10

Full build log on the debian reproducible build setup (for 1.2.6): https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/network-manager-ssh.html

danfruehauf commented 6 years ago

I'll look into that shortly. Thanks!

danfruehauf commented 6 years ago

@lhw Are you maintaining any other Network Manager VPN plugins for debian? What's the status with openvpn for instance? Because I see it uses the same file that is problematic (NetworkManager.h).

For the time being, I'd suggest adding:

CFLAGS="Wno-deprecated-declarations"

Just to avoid inconveniences until I get to properly fix it.

Currently I'm on Fedora 26 and it has NetworkManager 1.8.2 and libnma 1.8.2, so it's difficult for me to understand exactly what is happening there. But I'm in the process of upgrading to Fedora 27 (about time!) so hopefully there the library versions are a bit newer and I'll refresh what's needed.

lhw commented 6 years ago

I went ahead and updated most of my outdated debian packages today. Including this one. For now I just applied the no deprecation line. When you get around to it I can update the package to new versions of libnm/libnma. There is not even a freeze deadline yet for the next debian release.

I also noticed that AppStream information was apparently moved according to the standard. From $(data)/appstream to $(data)/metainfo. Just an fyi.

danfruehauf commented 6 years ago

When you get around to it I can update the package to new versions of libnm/libnma.

Will do. I'll leave it open as a reminder for myself. Thanks for the update!

lhw commented 5 years ago

Version 1.2.8 is now coming up in unstable. Without the deprecation warning.