Last active
June 28, 2018 14:07
-
-
Save Trucido/d3cfc97e14db84a2a957ce6e2b732a1d to your computer and use it in GitHub Desktop.
rpm spec macros to do linux detection
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%ifos Linux | |
%define is_suse_family %((test -e /etc/SUSE-brand || test -e /etc/SuSE-release) && echo 1 || echo 0) | |
%define is_sle_family %(grep -qi 'SUSE LINUX Enterprise' /etc/SuSE-release && echo 1 || echo 0) | |
%define is_sles %(grep -qi 'SUSE LINUX Enterprise Server' /etc/SuSE-release && echo 1 || echo 0) | |
%define is_sled %(grep -qi 'SUSE LINUX Enterprise Desktop' /etc/SuSE-release && echo 1 || echo 0) | |
%define is_opensuse %((grep -qi 'openSUSE' /etc/SUSE-brand || grep -qi 'openSuSE' /etc/SuSE-release) && echo 1 || echo 0) | |
%define is_redhat_family %(test -e /etc/redhat-release && echo 1 || echo 0) | |
# refer to http://fedoraproject.org/wiki/Packaging:DistTag | |
%define is_rhel %(grep -qi 'Red Hat Enterprise Linux Server' /etc/redhat-release && echo 1 || echo 0) | |
%define is_centos %(grep -qi CentOS /etc/redhat-release && echo 1 || echo 0) | |
%define is_fedora %(test -e /etc/fedora-release && echo 1 || echo 0) | |
%define is_slc %(grep -qi CERN /etc/redhat-release && echo 1 || echo 0) | |
%define is_sl %((grep -i Scientific /etc/redhat-release && grep -qv CERN) && echo 1 || echo 0) | |
%define is_alpine %(test -e /etc/alpine-releasev && echo 1 || echo 0) | |
%define is_amz %(grep -qi 'Amazon Linux' /etc/system-release && echo 1 || echo 0) | |
%define is_ascendos %(grep -qi Ascendos /etc/redhat-release && echo 1 || echo 0) | |
%define is_xenserver %(grep -qi XenServer /etc/redhat-release && echo 1 || echo 0) | |
%define is_xcp %(grep -qi XCP /etc/redhat-release && echo 1 || echo 0) | |
%define is_debian_family %(test -e /etc/debian_version && echo 1 || echo 0) | |
%define is_ubuntu %(grep -qi Ubuntu /etc/lsb-release && echo 1 || echo 0) | |
%define is_debian %(grep -qi Debian /etc/lsb-release && echo 1 || echo 0) | |
%define is_mint %(grep -qi Mint /etc/lsb-release && echo 1 || echo 0) | |
%define is_arch %(test -e /etc/arch-release && echo 1 || echo 0) | |
%define is_gentoo %(test -e /etc/gentoo-release && echo 1 || echo 0) | |
%define is_meego %(test -e /etc/meego-release && echo 1 || echo 0) | |
%define is_bluewhite64 %(test -e /etc/bluewhite64-version && echo 1 || echo 0) | |
%define is_mageia %(test -e /etc/mageia-release && echo 1 || echo 0) | |
%define is_mandrake %(test -e /etc/mandrake-release && echo 1 || echo 0) | |
%define is_mandriva %(test -e /etc/mandriva-release && echo 1 || echo 0) | |
%define is_psbm %(grep -i 'Parallels Server Bare Metal' /etc/redhat-release && echo 1 || echo 0) | |
%define is_slackware %(test -e /etc/slackware-version && echo 1 || echo 0) | |
%define is_slamd64 %(test -e /etc/slamd64-version && echo 1 || echo 0) | |
%define is_oracle_family %((test -e /etc/oracle-release || test -e /etc/enterprise-release || test -e /etc/ovs-release) && echo 1 || echo 0) | |
%define is_ovs %(test -e /etc/ovs-release && echo 1 || echo 0) | |
%define is_oel %((test -e /etc/enterprise-release && test ! -e /etc/ovs-release) && echo 1 || echo 0) | |
%define is_vmware %(test -e /etc/vmware-release && echo 1 || echo 0) | |
%endif |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment