Postgres9.1rpmがCentOS/RHEL 6でどのように構築されているかを理解しようとしているので、ソースrpmからのスペックファイルを調べています。
次の構文は何を意味しますか?具体的には、疑問符と感嘆符は?
%{!?test:%define test 1}
%{!?plpython:%define plpython 1}
%{!?pltcl:%define pltcl 1}
%{!?plperl:%define plperl 1}
%{!?ssl:%define ssl 1}
%{!?intdatetimes:%define intdatetimes 1}
%{!?kerberos:%define kerberos 1}
%{!?nls:%define nls 1}
%{!?xml:%define xml 1}
%{!?pam:%define pam 1}
%{!?disablepgfts:%define disablepgfts 0}
%{!?runselftest:%define runselftest 0}
%{!?uuid:%define uuid 1}
%{!?ldap:%define ldap 1
でマクロ変数を定義できることを理解しています%define <name>[(opts)] <value>
。感嘆符は論理否定演算子であると思います。しかし、疑問符や上記のような例に関する情報は見つかりません。マクロ変数を定義する前のある種のテストのようです。
これがスペックファイルの貼り付けです。