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


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.