Skip to main content

উবুন্টু প্যাকেজিং গাইড - ডেভেলপারের সাথে প্যাকেজিং

কিভাবে ডেবিয়ান, উবুন্টু এবং লিনাক্স মিন্ট জন্য .deb প্যাকেজ তৈরি করুন (জুন 2026)

কিভাবে ডেবিয়ান, উবুন্টু এবং লিনাক্স মিন্ট জন্য .deb প্যাকেজ তৈরি করুন (জুন 2026)
Anonim

Debhelper সঙ্গে প্যাকেজিং

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

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

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

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

mkdir ~ / হ্যালো-ডেভিলার সিডি ~ / হ্যালো-ডেভেলপার উইজেট http://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz mkdir ubuntu cd ubuntu

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

apt-get source hello-debhelper cd ..

আগের উদাহরণের মতো, আমাদের যা করতে হবে তা হল মূল (আপস্ট্রিম) টারববলটি আনপ্যাক করা।

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

পরিবর্তে আপস্ট্রিম টারবাল অনুলিপি করার hello_2.1.1.orig.tar.gz যেমন আমরা পূর্ববর্তী উদাহরণে করেছি, আমরা তা ছেড়ে দেব dh_make আমাদের জন্য কাজ করবেন। আপনাকে যা করতে হবে তা কেবলমাত্র উৎস ফোল্ডারের নামে পুনঃনামকরণ করা হয় - যেখানে প্যাকেজজেন ছোট হাতের অক্ষর। এই ক্ষেত্রে, শুধুমাত্র টারববলটি সঠিকভাবে নামযুক্ত উত্স ডিরেক্টরি তৈরি করে, যাতে আমরা এতে সরাতে পারি:

সিডি হ্যালো-2.1.1

উৎসের প্রাথমিক "ডেবিনিয়েশন" তৈরি করতে আমরা ব্যবহার করব dh_make.

আপনি কি জানেন না?

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

প্যাকেজ প্রকার: একক বাইনারি, একাধিক বাইনারি, লাইব্রেরি, কার্নেল মডিউল বা cdbs? গুলি / মি / L / K / খ গুলি রক্ষণাবেক্ষণকারী নাম: ক্যাপ্টেন প্যাকেজার ইমেল ঠিকানা: [email protected] তারিখ: থু, 6 এপ্রিল 2006 10:07:19 -0700 প্যাকেজ নাম: হ্যালো সংস্করণ: 2.1.1 লাইসেন্স: ফাঁকা প্যাকেজ টাইপ: একক হিট নিশ্চিত করতে: প্রবেশ করান

সাবধান

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

চলমান dh_make -e দুটি জিনিস আছে:

  • তৈরি করে hello_2.1.1.orig.tar.gz প্যারেন্ট ডিরেক্টরি মধ্যে ফাইল,
  • প্রয়োজনীয় মৌলিক ফাইল তৈরি করে Debian / এবং অনেক টেম্পলেট ফাইল (.ex) যা প্রয়োজন হতে পারে।

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

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

জন্য হ্যালো, তুমিও পারবে না

* লাইসেন্স

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

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

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

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

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

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

উৎস: হ্যালো-ডিবেলেপার বিভাগ: ডেভেল অগ্রাধিকার: অতিরিক্ত রক্ষণাবেক্ষণকারী: ক্যাপিটান প্যাকেজার স্ট্যান্ডার্ডস-সংস্করণ: 3.6.1 বিল্ড-ডেপেন্ডস: ডেভিলার (> = 4) প্যাকেজ: হ্যালো-ডেভিলার আর্কিটেকচার: যে কোনও নির্ভর করে: $ {shlibs: Depends} Conflicts: হ্যালো সরবরাহ করে: হ্যালো প্রতিস্থাপন: হ্যালো বর্ণনা: ক্লাসিক অভিবাদন এবং ভাল উদাহরণ জিএনইউ হ্যালো প্রোগ্রাম একটি পরিচিত, বন্ধুত্বপূর্ণ অভিবাদন উত্পাদন। এটি অ-প্রোগ্রামারদের একটি ক্লাসিক কম্পিউটার বিজ্ঞান সরঞ্জাম ব্যবহার করতে দেয় যা অন্যথায় তাদের কাছে অনুপলব্ধ হবে। । গুরুতরভাবে, যদিও: এটি একটি ডেবিয়ান প্যাকেজ কিভাবে করবেন তা উদাহরণস্বরূপ। এটি GNU প্রজেক্টের 'হ্যালো ওয়ার্ল্ড' প্রোগ্রামের ডেবিয়ান সংস্করণ (যা নিজেই জিএনইউ প্রকল্পের জন্য একটি উদাহরণ)। । এটি হ্যালো প্যাকেজ হিসাবে একই, এটি ডেবিলে তৈরি করার জন্য debhelper ব্যবহার করে। এটা কি হিসাবে debhelper দেখুন দয়া করে।

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

সিপি ../../ubuntu/hello-debhelper-2.1.1/debian/copyright। সিপি ../../ubuntu/hello-debhelper-2.1.1/debian/postinst। সিপি ../../ubuntu/hello-debhelper-2.1.1/debian/prerm। সিপি ../../ubuntu/hello-debhelper-2.1.1/debian/rules।

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

দ্য debhelper সংস্করণ মত দেখাচ্ছে:

#! / usr / bin / make -f প্যাকেজ = হ্যালো-ডেভেলার CC = gcc CFLAGS = -g -Wall ifeq (, $ (findstring noopt, $ (DEB_BUILD_OPTIONS)) CFLAGS + = -O2 endif # এক্সপোর্ট DH_VERBOSE = 1 পরিষ্কার : dh_testdir dh_clean rm -f build - $ (MAKE) -i distican ইনস্টল করুন: dh_clean dh_installdirs $ তৈরি করুন (তৈরি করুন) প্রিফিক্স = $ (CURDIR) / ডেবিয়ান / $ (প্যাকেজ) / usr mandir = $ (CURDIR) / ডেবিয়ান / $ (প্যাকেজ) / usr / share / man infodir = $ (CURDIR) / ডেবিয়ান / $ (প্যাকেজ) / usr / share / info install build: ./configure --prefix = / usr $ (MAKE) CC = "$ (সিসি) "CFLAGS =" $ (CFLAGS) "

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

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