উত্সটি পুনরায় সংশোধন না করে আমি কী একটি প্যাকেজ পুনর্নির্মাণ করতে পারি?


19

আমি একটি নতুন .deb নির্মাণ করছি এবং প্যাকেজিংয়ে লিন্টিয়ান ত্রুটিগুলি ঠিক করতে চাই। যাইহোক, প্রতিবার আমি পুনর্নির্মাণ করার সময়, নিয়ম ফাইলটি একটি 'ক্লিন মেক' করে এবং এভাবে আবার সংকলন শুরু হয়।

আমি বিল্ড প্রক্রিয়াটি পুনরায় সংকলন করতে চাই না এমন নির্দেশ দেওয়ার কোনও উপায় আছে, আমি কেবল প্যাকেজিংটি পরিবর্তন করছি এবং বাইনারিগুলির শেষ সেটটি ব্যবহার করা আপাতত ভাল হয়ে যাবে?

উত্তর:


26

এটি কীভাবে আপনি প্যাকেজটি তৈরি করছেন তার উপর নির্ভর করে। আপনি যদি বিকল্পটি পাস করেন তবে লক্ষ্যটিকে dpkg-buildpackageকল করবেন না । পরীক্ষা বিল্ডের জন্য আর একটি দরকারী বিকল্প হ'ল (পরিবর্তনগুলির ফাইলে স্বাক্ষর করবেন না)। এই বিকল্পগুলি উত্তরাধিকার সূত্রে প্রাপ্ত ।clean-nc-ucdebuilddpkg-buildpackage

একটি পরীক্ষা বিল্ডের জন্য, আপনি সহজভাবে করতে পারেন fakeroot debian/rules binary(একাধিক-বাইনারি প্যাকেজের জন্য উপযুক্ত হিসাবে লক্ষ্যটি সামঞ্জস্য করুন)।


8

ব্যবহার করে ccache, আপনি অপরিবর্তিত উত্স ফাইলগুলি পুনরায় সংশোধন না করে প্যাকেজটিকে সাধারণ হিসাবে তৈরি করতে পারেন।

ccache সংকলনের পুরানো ফলাফলগুলি সংরক্ষণ করে কাজ করে এবং উত্সটি আসলে পরিবর্তিত হলে কেবল পুনর্নির্মাণ করে।

debuild --prepend-path=/usr/lib/ccache --preserve-envvars=CCACHE_*

2
আমি পেয়েছি dpkg-buildpackage: unknown option or argument --preserve-envvars=CCACHE_*কিন্তু আমি এই বিকল্পটি সরিয়ে ফেলেছি, এটি ছাড়া ঠিক আছে বলে মনে হচ্ছে
ডেভ বাটলার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.