উবুন্টু প্যাকেজিং গাইড

নথিপত্র

দেভেলবারের সাথে প্যাকেজিং


[গুরুত্বপূর্ণ]

প্রয়োজনীয়তা: "প্যাকেজিং থেকে স্ক্র্যাচ" বিভাগে যোগ করা এবং ডেলহাবার এবং DH-M

একটি প্যাকেকার হিসাবে, আপনি খুব কমই প্যাকেজগুলি স্ক্র্যাচ থেকে তৈরি করতে পারবেন যেমন আমরা পূর্ববর্তী বিভাগে করেছি। যেমন আপনি কল্পনা করতে পারেন, উদাহরণস্বরূপ, নিয়ম ফাইলের বেশিরভাগ কাজ এবং তথ্য প্যাকেজগুলিতে সাধারণ। প্যাকেজিং সহজ এবং আরও দক্ষ করতে, আপনি এই কর্মগুলি সাহায্য করার জন্য debhelper ব্যবহার করতে পারেন। Debhelper হল একটি পার্ল স্ক্রিপ্ট ( dh_ দিয়ে প্রিফিক্স ) যা প্যাকেজ-বিল্ডিংয়ের প্রক্রিয়া স্বয়ংক্রিয় করে। এই স্ক্রিপ্টগুলির সাহায্যে, একটি ডেবিয়ান প্যাকেজ তৈরি করা বেশ সহজ হয়ে যায়।

এই উদাহরণে, আমরা আবার জিএনইউ হ্যালো প্যাকেজ তৈরি করব, কিন্তু এই সময় আমরা উবুন্টু হ্যালো-ডেভেলপার প্যাকেজ থেকে আমাদের কাজ তুলনা করব। আবার, একটি ডিরেক্টরি তৈরি করুন যেখানে আপনি কাজ করবেন:

mkdir ~ / hello-debhelper cd ~ / hello-debhelper wget। http://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz mkdir উবুন্টু সিডি উবুন্টু

তারপর, উবুন্টু উৎস প্যাকেজ পেতে:

অপারেটিং-সোর্স হ্যালো-ডেভেলপার সিডি ..

পূর্ববর্তী উদাহরণের মত, আমাদের যা করতে হবে তা হল মূল (ঊর্ধ্বমুখী) ট্যারলেপ আনপ্যাক করা।

tar -xzvf হ্যালো- 2.1.1.tar.gz

আপস্ট্রিম টেরবল অনুলিপি করার জন্য hello_2.1.1.orig.tar.gz এর পরিবর্তে যেমন আমরা আগের উদাহরণে করেছি, আমরা আমাদের জন্য Dh_make করবো। আপনি যা করতে চান শুধুমাত্র সোর্স ফোল্ডার নামান্তর হয়, তাই এটি <প্যাকেজেড> - <সংস্করণ> আকারে হয় যেখানে packagename ছোট হাতের অক্ষর। এই ক্ষেত্রে, কেবল টার্মবলকে অবাঞ্ছিতভাবে একটি যথাযথ নামযুক্ত সোর্স ডিরেক্টরি তৈরি করে যাতে আমরা এতে সরে যেতে পারি:

সিডি হ্যালো -২.1.1

উত্সের প্রাথমিক "debianization" তৈরি করতে আমরা dh_make ব্যবহার করব

dh_make -e your.maintainer@address -f./hello-2.1.1.tar.gz

dh_make তারপর আপনাকে একটি প্রশ্ন জিজ্ঞাসা করবে:

প্যাকেজের ধরন: একক বাইনারি, একাধিক বাইনারি, লাইব্রেরি, কার্নেল মডিউল বা সিডিবি? [s / m / l / k / b] গুলি
রক্ষণাবেক্ষণকারী নাম: ক্যাপ্টেন প্যাকেজার ইমেইল-ঠিকানা: প্যাকগারার@coolness.com তারিখ: Thu, 6 এপ্রিল 2006 10:07:19 -0700 প্যাকেজ নাম: হ্যালো সংস্করণ: 2.1.1 লাইসেন্স: ফাঁকা প্যাকেজের ধরন: একক হিট to নিশ্চিত করুন: Enter


[সাবধান]

শুধুমাত্র dh_make -e একবার চালানো আপনি যদি এটি প্রথমবার করেন তবে এটি সঠিকভাবে কাজ করবে না। যদি আপনি এটি পরিবর্তন করতে অথবা ভুল করতে চান তবে সোর্স ডাইরেক্টরিটি সরিয়ে ফেলুন এবং আপস্ট্রিম টারবোর্ডটি পুনরায় নতুনভাবে বাদ দিন। তারপর আপনি উৎস ডিরেক্টরিতে স্থানান্তরিত করতে পারেন এবং আবার চেষ্টা করুন।

চলছে dh_make -e দুটি জিনিস করে:

হ্যালো প্রোগ্রামটি খুব জটিল নয়, এবং যেমন "প্যাকেজিং থেকে স্ক্র্যাচ" নামক বিভাগে আমরা দেখেছি, প্যাকেজিংটি মৌলিক ফাইলগুলির চেয়ে অনেক বেশি প্রয়োজন হয় না। অতএব, আসুন আমরা .ex ফাইল মুছে ফেলি :

সিডি ডেবিয়ান আরএম *। এক্স * .EX

হ্যালো জন্য , আপনি না করবে না

* লাইসেন্স

* উবুন্টু প্যাকেজিং গাইড সূচক

প্রয়োজন README.Debian (নির্দিষ্ট ডেবিয়ান বিষয়গুলির জন্য README ফাইল, প্রোগ্রামের README নয়), dirs (প্রয়োজনীয় ডিরেক্টরি তৈরি করতে dh_installdirs দ্বারা ব্যবহৃত), ডক্স (প্রোগ্রাম ডকুমেন্টেশন ইনস্টল করার জন্য dh_installdocs দ্বারা ব্যবহৃত), অথবা তথ্য ( তথ্য dh_installinfo দ্বারা ব্যবহৃত ফাইল) ডেবিয়ান ডিরেক্টরিতে ফাইলগুলি। এই ফাইলগুলির উপর আরো তথ্যের জন্য, "dh_make উদাহরণ ফাইল" নামক বিভাগটি দেখুন।

এই মুহুর্তে, আপনার ডেবিয়ান ডিরেক্টরীতে কেবলমাত্র চেনজেন , কম্প্যাট , কন্ট্রোল , কপিরাইট এবং নিয়ম ফাইল থাকা উচিত। "প্যাকেজিং থেকে স্ক্র্যাচ" নামক বিভাগ থেকে, নতুন ফাইলটি হল কম্পিট , যা একটি ফাইল যা debhelper সংস্করণ (এই ক্ষেত্রে 4) এর সাথে ব্যবহৃত হয়।

আপনি শুধু এই হ্যালো না বরং এই প্যাকেজ হ্যালো- debhelper নামকরণ করা হয় প্রতিফলিত এই ক্ষেত্রে সামান্য পরিবর্তনশীল সমন্বয় করতে হবে:

হ্যালো-ডেভেলপার (2.1.1-1) ডাপার; জরুরী = কম * প্রাথমিক রিলিজ - ক্যাপ্টেন প্যাকেজগার Thu, 6 এপ্রিল 2006 10:07:19 -0700

ডেভেলপার ব্যবহার করে, শুধুমাত্র আমাদের নিয়ন্ত্রণে থাকা প্রয়োজনগুলি হল নাম ( হ্যালো-ডেভেলপারের জন্য হ্যালো প্রতিস্থাপন করা) এবং সোর্স প্যাকেজের জন্য Build-Depends ক্ষেত্রে ডেভেলপার (> = 4.0.0) যোগ করা। উবুন্টু প্যাকেজ হ্যালো-ডেভেলপারের মত দেখাচ্ছে:

আমরা উবুন্টু হ্যালো-ডেভেলপার প্যাকেজ থেকে কপিরাইট ফাইল এবং postinst এবং prerm স্ক্রিপ্টগুলি অনুলিপি করতে পারি, যেহেতু তারা "প্যাকেজিং থেকে স্ক্র্যাচ" নামক বিভাগটি থেকে পরিবর্তিত হয়নি। আমরা নিয়ম ফাইলটি অনুলিপি করব যাতে আমরা তা পরিদর্শন করতে পারি।

cp ../../ubuntu/hello-debhelper-2.1.1/debian/copyright। cp ../../ubuntu/hello-debhelper-2.1.1/debian/postinst। cp ../../ubuntu/hello-debhelper-2.1.1/debian/prerm। cp ../../ubuntu/hello-debhelper-2.1.1/debian/rules।

আমরা দেখতে শেষ ফাইল নিয়ম , যেখানে debhelper স্ক্রিপ্টের শক্তি দেখা যায় দেখা যায়। নিয়মগুলির ডিবেলার সংস্করণটি কিছুটা ছোট (54 টি লাইন যা "নিয়ম" নামে পরিচিত অংশ থেকে 72 লাইনের বিরোধিতা করে)

ডেভেলপার সংস্করণটি দেখায়:

#! / usr / bin / make -f প্যাকেজ = হ্যালো-ডেভেলপার সিসি = জি সি সি প্লাজ্জ = -গ্লাওয়াক = (, $ (ডেসট্রস্ট্রিং নোপ্ট, $ (DEB_BUILD_OPTIONS))) CFLAGS + = -O2 endif #export DH_VERBOSE = 1 পরিষ্কার : dh_testdir dh_clean rm -f বিল্ড - $ (তৈরি করুন) - একটি ডিস্ট্রিবিউন ইন্সটল করুন: বিল্ড ডিএল_ক্যালান dh_installdirs $ (তৈরি করুন) প্রিফিক্স = $ (কুরুদ) / ডেবিয়ান / $ (প্যাকেজ) / ইউআরএল = Mandir = $ (কুরুদ) / ডেবিয়ান / $ (প্যাকেজ) / usr / share / man \ infodir = $ (CURDIR) / debian / $ (প্যাকেজ) / usr / share / info \ install বিল্ড: ./configure --prefix = / usr $ (তৈরি) সিসি = "$ (CC) "CFLAGS =" $ (CFLAGS) "

স্পর্শ বানাতে বাইনারি- indep: ইনস্টল # এই প্যাকেজ দ্বারা উত্পন্ন আপলোড করা কোনও স্থাপত্য-স্বাধীন ফাইল নেই। যদি তাদের কেউ থাকে তবে তাদের এখানে # তৈরি করা হবে। বাইনারি-আর্ক: ইনস্টল করুন dh_testdir -a dh_testroot -a dh_installdocs- একটি সংবাদ dh_installchangelogs- একটি পরিবর্তন লোগ dh_strip- একটি dh_compress- একটি dh_fixperms- একটি dh_installdeb- একটি dh_shlibdeps- একটি dh_gencontrol- একটি dh_md5sums- একটি dh_builddeb- একটি বাইনারি: বাইনারি- indep বাইনারি- arch। চকচকে: বাইনারি বাইনারি-আর্ক বাইনারি- indep পরিষ্কার চেকরোট

লক্ষ্য করুন যে আপনি যদি সঠিক ডিরেক্টরি ( dh_testdir ) তে পরীক্ষা করেন তবে লক্ষ্য করুন যে আপনি প্যাকেজটি মূল অধিকার ( dh_testroot ) দিয়ে তৈরি করছেন, ডকুমেন্টেশন ( dh_installdocs এবং dh_installchangelogs ) ইনস্টল করে এবং বিল্ড ( dh_clean ) পরে সাফ করার পর স্বয়ংক্রিয়ভাবে পরিচালনা করা হয়। । অনেক প্যাকেজ হ্যালো তুলনায় আরো জটিল নিয়মগুলি বড় না কারণ debhelper স্ক্রিপ্টগুলি অধিকাংশ কাজ পরিচালনা করে। ডেভেলপার স্ক্রিপ্টগুলির একটি সম্পূর্ণ তালিকাতে, " ডিবেলার স্ক্রিপ্টগুলির তালিকা" নামক বিভাগটি দেখুন। তারা তাদের নিজ নিজ পেজে ভালভাবে নথিভুক্ত। উপরের নিয়ম পত্রের প্রতিটি সাহায্যকারী স্ক্রিপ্টের জন্য ম্যান পৃষ্ঠাটি (এটি ভালভাবে লিখিত এবং দীর্ঘ নয়) পড়তে এটি একটি কার্যকর ব্যায়াম।