আরপিএম স্পেক: শর্তাধীন ডিস্ট্রো সংস্করণের ভিত্তিতে প্রয়োজনীয় require


8

আমি আরএইচইএল / সেন্টোস / এসএল 5 এবং 6 এর জন্য একটি একক আরপিএম স্পেস লেখার চেষ্টা করছি spec তবে আরএইচইএল / সেন্টোএস 5 এ আমাকে আরও একটি অতিরিক্ত নির্ভরতা যুক্ত করতে হবে।

আমি কীভাবে কেবল এল 5 এর জন্য নির্ভরতা নির্ধারণ করব? আমি নিম্নলিখিত চেষ্টা করেছি:

%if 0%{?redhat} == 5 || 0%{?centos} == 5
Requires:   kmod-coretemp
%endif

কাজ করে না (CentOS5 এ বিল্ড কমড-কোর্টেম্প নির্ভরতা যুক্ত করে না)।

আমি নিম্নলিখিত চেষ্টা করে দেখেছি:

%if %{?dist} == "el5"

এটি সিনট্যাক্স ত্রুটির সাথে রিপোর্ট করে। আমি নিশ্চিত ডিস্ট ম্যাক্রো সেট করা আছে এবং এতে 'এল 5' রয়েছে। তবে আমি নিশ্চিত নই যে আরপিএমের শর্তসাপেক্ষে যদি সিনট্যাক্স হয়? rpmguide এর বিস্তারিত উত্তর নেই।

উত্তর:



8

ফেডোরা উইকি যথারীতি প্যাকেজিং সম্পর্কে সেরা গাইডলাইন সরবরাহ করে। কটাক্ষপাত DistTag: প্যাকেজিং পাতা। EL5 এর জন্য প্যাকেজ তৈরি করার সময় রিলেভেন্ট লাইন ব্যবহার করা %{el5}হয়েছে তা নিশ্চিত করতে আপনি ভেরিয়েবল এবং শর্টহ্যান্ড শর্তসাপেক্ষ ব্যবহার করতে পারেন Require

%{?el5:Requires: kmod-coretemp}

distপ্যাকেজগুলির মধ্যে পরবর্তী বিভ্রান্তি এড়াতে আপনি সম্ভবত সংস্করণ ক্ষেত্রে ট্যাগ যুক্ত করতে চাইবেন :

Release: 1%{?dist}

জেলা ট্যাগের উদ্দেশ্য দেখুন ।


ধন্যবাদ! ভাল, আমার সিস্টেমে এটি কোনও কারণে নেই তবে আমি ম্যাক্রোটিকে ম্যানুয়ালি সংজ্ঞায়িত করেছি। দুঃখিত, Ignacio উত্তরটি গ্রহণযোগ্য হিসাবে চিহ্নিত করা হয়েছে, কারণ এটি প্রথমটি ছিল।
RVs

1
যদি তারা উপস্থিত না থাকে তবে আপনাকে redhat-rpm-configইউম থেকে প্যাকেজ ইনস্টল করতে হবে need
ড্যান কারলি

এটি ইনস্টল করা হয়েছে তবে এখনও ম্যাক্রোগুলি নেই। আমি বিশ্বাস করি এটি সেন্টো-নির্দিষ্ট, যেমন তারা রয়েছে আরও একটি রেল 5 মেশিনের মতো।
RVs
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.