প্রকল্প সম্পর্কে

Alpine Linux aports হলো সেই রিপোজিটরি যেখানে Alpine Linux-এর প্রতিটি প্যাকেজের APKBUILD ফাইল, সেই প্যাকেজগুলোর প্রয়োজনীয় প্যাচ ও স্ক্রিপ্ট এবং GitLab CI-এর মাধ্যমে GitLab-এ প্যাকেজ পরীক্ষা ও বিল্ড করার জন্য অতিরিক্ত ফাইল ও ডিরেক্টরি থাকে। এই ট্রি তিনটি রিপোজিটরি (ডিরেক্টরি)-তে সংগঠিত, প্রতিটির নিজস্ব নীতি, ব্যবহারক্ষেত্র ও কর্মপ্রবাহ রয়েছে: - main: একটি মৌলিক সিস্টেমে প্রত্যাশিত প্যাকেজ, অফিসিয়াল রিলিজ চক্র জুড়ে সমর্থিত এবং একজন নির্ধারিত রক্ষণাবেক্ষণকারী (maintainer) রয়েছে। প্যাকেজে সোর্সের সাথে প্রদত্ত ডকুমেন্টেশন থাকা উচিত এবং টেস্ট স্যুট থাকলে তা সক্রিয় করা উচিত। নতুন প্যাকেজ সরাসরি এখানে খুব কমই যোগ করা হয়; সাধারণ পথ হলো testing => main। - community: যে প্যাকেজগুলো main-এ পড়ে না এবং testing সম্পন্ন করেছে। এগুলোর একজন রক্ষণাবেক্ষণকারী থাকা উচিত, টেস্ট স্যুট থাকলে তা সক্রিয় করা উচিত এবং preferably ডকুমেন্টেশন থাকা উচিত। সাধারণ পথ হলো testing => community। - testing: যে প্যাকেজগুলো অফিসিয়াল রিলিজ চক্র অনুসরণ করে না এবং শুধুমাত্র edge ব্রাঞ্চে সরবরাহ করা হয়। এই এলাকা প্যাকেজ প্রবর্তন ও পরীক্ষার জন্য একটি স্টেজিং গ্রাউন্ড; সঠিকভাবে বিল্ড হওয়া ছাড়া প্রয়োজনীয়তা ন্যূনতম। যাচাইয়ের পর প্যাকেজগুলো অন্য রিপোজিটরিতে সরানো উচিত, এবং প্রায় ছয় থেকে নয় মাসের মধ্যে সরানো না হলে নোটিফিকেশনের পর সেগুলো সরিয়ে ফেলা হয়। অবদানকারীদের Alpine Linux contributor guide-এ নির্দেশ করা হয় এবং তারা GitLab-এ merge request জমা দিতে পারেন বা aports মেইলিং লিস্টে git patch পাঠাতে পারেন (বর্তমানে অকার্যকর বলে উল্লেখ করা হয়েছে)। রিপোজিটরিটি .githooks ডিরেক্টরিতে git hook সরবরাহ করে, যা একটি স্থানীয় core.hooksPath কনফিগারেশনের মাধ্যমে সক্রিয় করা হয়, সাথে APKBUILD ও commit message লেখার জন্য coding-style ও commit-style নির্দেশিকা ডকুমেন্টও রয়েছে।