I am inclined to seperate compile from deployment architectures as follows:
Only supporting: ubuntu-14.04 as development and support newer versions as runtime platforms, reusing the 14.04 packages.
The same have to be done for fedora. Using centos-7 and deploy on recent fedora.
Or more radically: Using docker as deployment format and switch to docker deployment with only – for instance – an debian build. Not in the sense of microservices, using docker only for deployment
docker run --network=host -v /etc/hadoop/conf:/etc/hadoop/conf -v /etc/hadoop/hdfs.keytab:/etc/hadoop/hdfs.keytab -v /var/log/hadoop-hdfs:/var/log/hadoop-hdfs bigtop/hadoop-hdfs-namenode:latest /etc/init.d/hadoop-hdfs-namenode
and so on