rpm ప్యాకేజీలలో మాక్రోలను ఉపయోగించండి

Fedora మెయిలింగ్ జాబితాలో ప్రచురించబడింది ఆఫర్ RPM స్పెక్ ఫైల్స్‌లో మాక్రోలను ప్రామాణీకరించడానికి, బిల్డ్ దశలో కంపైలేషన్ ఫ్లాగ్‌లు మరియు అదనపు డిపెండెన్సీలను ఎంచుకునే సామర్థ్యాన్ని RPM ప్యాకేజీలకు జోడించడానికి మిమ్మల్ని అనుమతిస్తుంది.

వినియోగ ఉదాహరణ:

%{sslని ఉపయోగిస్తే}
బిల్డ్ అవసరం: openssl-devel
% endif

% ప్రిపరేషన్
%కాన్ఫిగర్ %{use_enable ssl openssl}

% తనిఖీ
పరీక్ష %{?_use_ssl:-DSSL}

ఈ ఉదాహరణలో, స్పెక్ ఫైల్‌లో USE మాక్రో sslని పేర్కొన్నప్పుడు, openssl-devel ప్యాకేజీపై అదనపు డిపెండెన్సీ జోడించబడుతుంది, --enable-openssl ఎంపికతో కాన్ఫిగరేషన్ దశ అమలు చేయబడుతుంది మరియు సంబంధిత పరీక్షలు నిర్మాణ సమయంలో అమలు చేయబడింది.

బైనరీ మాక్రో %_use_ ద్వారా బిల్డ్ ఐచ్ఛికం పేర్కొనబడుతుందని భావించబడుతుంది. వంటి అదనపు రేపర్‌లతో:

  • %{వా డు } – 0 లేదా 1 విలువలను తీసుకుంటుంది,
  • %{use_enable [ [ ]]} – —డిజేబుల్-కి విస్తరిస్తుంది- లేదా --ఎనేబుల్- .

స్పెక్ ఫైల్‌లకు ఈ రకమైన ఎంపికలను జోడించడం వలన మీరు ఒకే మూలాల నుండి పంపిణీ యొక్క విభిన్న సంస్కరణలను కంపైల్ చేయడానికి అనుమతిస్తుంది.

ఉదాహరణకు, బిల్డ్ డిపెండెన్సీ ట్రీని కనిష్టీకరించడానికి, మీరు డాక్యుమెంటేషన్ నిర్మాణాన్ని నిలిపివేసే గ్లోబల్ పారామీటర్ %{use docs}ని ఉపయోగించవచ్చు.

బిల్డ్ ఎన్విరాన్‌మెంట్‌ను కాన్ఫిగర్ చేయడం ద్వారా మీరు తగిన ఎంపికల సెట్‌ను సెట్ చేయవచ్చు. అంతేకాకుండా, ఎంపికలను ప్రపంచవ్యాప్తంగా మరియు ప్రతి ప్యాకేజీకి విడిగా పునర్నిర్వచించడం ద్వారా సెట్ చేయవచ్చు.

ప్రతిపాదన ఇంకా ఆమోదించబడలేదు మరియు చర్చలో ఉంది.

మూలం: linux.org.ru

ఒక వ్యాఖ్యను జోడించండి