چطور میتونم فایل نصب deb براش بسازم؟
سوال خوبیه!
اول برای اون برنامه یه فایل کنترل (توی آرچ-بیسها بهش میگن PKGBuild) مینویسی, فایل کنترل که البته
از عبارتش هم مطمئن نیستم, یه پروندهی متنی هست که شما به عنوان maintainer توش یه سری اطلاعات نسبت به اون بسته وارد میکنی; اسم, نگهدارنده, نسخه, وبسایتی که مربوطه به اون برنامه, Section, وابستگیها, کانفیلیکتها و غیره!
برای اینکه بتونی یه همچین چیزی بنویسی باید مستندات سایت دبیان را بخونی, مثلا این یه نمونش هست:
Package: Persepolis
Version: 2.1-6
Section: Python
Priority: optional
Architecture: all
Depends: aria2, bash, attica-qt5
Description: A download manager based on Aria2!
و بعد میری سراغ یه مفهومی به اسم Fakeroot, خب همون طور که از اسمش پیداست باید یه شاخه بسازی و فرض کنی اون شاخه Root هست, حالا اون برنامهای که نوشتی, هر قسمتش باید یه جا بره دیگه, مثلا دسکتاپ Entry میره اینجا:
/user/share/applications
اسکریپت اجراییش میاد اینجا:
/bin
فایل پیکربندیش میره توی etc/ و غیره و غیره, حالا باید اون فایلها را دقیقا همون طوری بچینی توی اون شاخه که فرض کردی Root هست تا وقتی بسته را نصب میکنی اون فایلها برن توی همون مسیر (در Root واقعی), برای مثال دسکتاپ entry بستهات را میخوای اضافه کنی:
mkdir persepolis_2.1-6
cd ..
cp persepolis.desktop persepolis_2.1-6
cd persepolis_2.1-6
mkdir /user/share/applications
cp ./persepolis.desktop ./user/share/applications
حالا اگه بعد از انجام همهی اینکارا بستهی Deb با موفقیت ساخته بشه وقتی شما نصب میکنی بسته را با دستور:
dpkg -i persepolis_2.1-6.deb
اون فایل دسکتاپ Entry میره و توی Root واقعی توی همون شاخهای که تعریف کردی میشینه! بعد از اینکه کارت با محیط Fakeroot تموم شد, میری سراغ ساخت بسته با دستور زیر:
dpkg-deb --build persepolis_2.1-6
خب بسته ساخته شده! Cheeeers
پ.ن: چیزایی که من گفتم فقط یه مرور ساده بود روی روند اینکار, برای اینکه بخوای پوستهی Deb بنویسی حتما باید مستندات را مطالعه کنی چون من خیلی از مسائل را توضیح ندادم!!