একটি ডেবিয়ান উত্স প্যাকেজ দেওয়া হয়েছে - আমি বিল্ড-ডিপগুলি কীভাবে ইনস্টল করব?


47

আমার একটি ডেবিয়ান (ভাল প্রযুক্তিগতভাবে উবুন্টু) সোর্স প্যাকেজ রয়েছে, যেমন .dsc, .tar.gz, ইত্যাদি, আমি এটি তৈরি করতে চাই। dpkg-buildpackage, ব্যর্থ যেহেতু আমি সব বিল্ড নির্ভরতা হবে না।

সাধারণত আমি ব্যবহার করি apt-get build-dep, তবে এই প্যাকেজটি উপযুক্ত নয়।

উত্স প্যাকেজ প্রদত্ত সমস্ত বিল্ড নির্ভরতা ইনস্টল করার জন্য কোনও 'পরিষ্কার', 'সঠিক' উপায় আছে কি? আমি জানি আমি কেবল ডেবিয়ান / কন্ট্রোল ফাইল খুলতে পারি, তবে 'যথাযথ' উপায় থাকলে আমি আগ্রহী।

আমি ইনস্টল করেছি build-essentialএবং সমস্ত সাধারণ সংকলক ইত্যাদি রয়েছে, এই প্যাকেজের জন্য অতিরিক্ত সফ্টওয়্যার প্রয়োজন।

উত্তর:



12

পিটিম্যানের পরামর্শ ব্যবহার করে ওয়ার্কফ্লো এখানে দেওয়া হল।

ধরে নিই যে আপনি .dscফাইল, .orig.*zফাইল এবং সম্ভবত একটি .debian.*zফাইল ডাউনলোড করেছেন, তারপরে উত্স প্যাকেজটি আনপ্যাক করুন:

dpkg-source -x [package_name]_[package_version].dsc

নিষ্কাশিত উত্স ফোল্ডারে যান এবং চালান:

sudo mk-build-deps -i

এটি ফাইলটি তৈরি করবে [package_name]-build-deps_[version].debএবং এটি ইনস্টল করবে এবং এটি প্রস্তাবিত সমস্ত নির্ভরতাও ইনস্টল করবে।

এখন আপনার উত্স থেকে আপনার প্যাকেজ তৈরি করতে সক্ষম হওয়া উচিত:

debuild

আপনি শেষ হয়ে গেলে, আপনি যে build-depsপ্যাকেজটি উত্পন্ন করেছেন তা মুছে ফেলে আপনি সহজেই টানতে পারা নির্ভরতাগুলি সরাতে পারবেন :

sudo apt-get purge --auto-remove [package_name]-build-deps

2
এছাড়াও আপনি পাস করতে পারেন -rথেকে sudo mk-build-deps -iইনস্টল করার পরেও প্যাকেজ মুছে ফেলার জন্য। এছাড়াও, রুট হিসাবে বিল্ডিংয়ের পরিবর্তে, আপনি রুট হিসাবে ব্যবহার করে ইনস্টল করতে পারেন --root-cmd sudo। শেষ পর্যন্ত, ব্যবহার করুনmk-build-deps --install --root-cmd sudo --remove
লুকাস

এছাড়াও, আপনার sudo apt install devscripts equivsপ্রথম প্রয়োজন হতে পারে ।
আলবা মেন্ডিজ

9

প্রকৃতপক্ষে আমি ব্যবহার করতে পারি dpkg-checkbuilddepsযা বিল্ড নির্ভরতা দেখায়। এটি আমার যা প্রয়োজন তার 99% পেয়ে যায়


2
আশ্চর্যের ব্যাপার যে, packagename-version.dsc ফাইল লাইন স্ট্রিং দিয়ে শুরু হয় নির্মাণ নির্ভরতা রয়েছে বিল্ড-নির্ভর
হাতুড়ে Quixote

6

আমি সাধারণত ব্যবহার debuildথেকে devscriptsবিল্ড প্যাকেজে, এবং এটি অনুপস্থিত বিল্ড-deps একটি লাইন ছাপে যদি প্রাসঙ্গিক।

"যথাযথ" উপায়টি হ'ল ব্যবহার করা pbuilderবা অনুরূপ যা প্যাকেজটি chrootন্যূনতমরূপে তৈরি করবে এবং প্যাকেজ দ্বারা নির্দিষ্ট হিসাবে অতিরিক্ত কোনও বিল্ড-ডেপগুলি ইনস্টল করুন, এটি অন্যান্য সম্ভাব্য সমস্যাগুলির একটি গুচ্ছকেও সরিয়ে দেয় (প্যাকেজবিহীন গ্রন্থাগারের স্থানীয় ইনস্টলেশন) উদাহরণ স্বরূপ).


-6

চেষ্টা করুন:

apt-get install build-essential

আমি বিল্ড-অপরিহার্য ইনস্টল করা আছে। এই প্যাকেজের অতিরিক্ত সফ্টওয়্যার প্রয়োজন।
ররি

এবং এটি কি প্রয়োজন ব্যাখ্যা করে না? সম্ভবত libncurses-dev।
ল্যানসেলোট

1
ঐটা আসল কথা না; অবশ্যই এটা করে। মূল বিষয়টি হ'ল একটি কমান্ড যা প্রকৃতপক্ষে নির্ভরতা ইনস্টল করে, কেবল এটি প্রদর্শন করে না।
ম্যাথিয়াস উরলিচস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.