একটি রেস্পিনের অনুরোধ করুন

রেস্পিন হলো GKI কার্নেলের পাবলিক রিলিজের পর একটি বাইনারি পুনরায় মার্জ, পুনর্নির্মাণ, পুনরায় পরীক্ষা এবং পুনঃপ্রত্যয়িত করার প্রক্রিয়া।

রেস্পিনের অনুরোধ করার আগে, নিম্নলিখিত নির্দেশিকাগুলি মনে রাখবেন।

যোগ্যতা এবং জীবনচক্র

  • সময়: ত্রৈমাসিক বিল্ডের প্রাথমিক পাবলিক রিলিজ চালু হওয়ার পরে আপনি কেবল রিলিজ শাখাগুলিতে রেস্পিনের অনুরোধ করতে পারেন। প্রাথমিক পাবলিক রিলিজের পরে সর্বাধিক ছয় মাসের জন্য শুধুমাত্র প্রদত্ত রিলিজ শাখার জন্য ভেন্ডর-হুক বা অন্যান্য বৈশিষ্ট্যের জন্য রেস্পিন অনুরোধের অনুরোধ করুন।
  • নিরাপত্তা এবং LTS: ছয় মাস পর, শাখাগুলি শুধুমাত্র অ্যান্ড্রয়েড সিকিউরিটি বুলেটিনে (ASB) উদ্ধৃত নিরাপত্তা প্যাচ বা গুরুত্বপূর্ণ বাগ সংশোধনের জন্য রেস্পিনের জন্য যোগ্য।
  • অবচয়: যখন অ্যান্ড্রয়েড সিকিউরিটি বুলেটিন (ASB) দ্বারা সংজ্ঞায়িত LTS প্রয়োজনীয়তাগুলি শাখাটিকে অসঙ্গতিপূর্ণ করে তোলে, তখন শাখাটি অবচয় হয়ে যায়। অবচয় বন্ধ করা শাখাগুলির জন্য রেস্পিন অনুরোধ গ্রহণ করা হয় না।
    • একটি নির্দিষ্ট GKI রিলিজ শাখার জন্য অবচয় তারিখটি Releases এর অধীনে ত্রৈমাসিক GKI রিলিজ বিল্ড নোটে অন্তর্ভুক্ত করা হয়েছে। উদাহরণস্বরূপ, সেপ্টেম্বর 2025 রিলিজটি মার্চ 2027 পর্যন্ত রেস্পিনের জন্য সমর্থিত। এই তারিখটি সেপ্টেম্বর 2025 থেকে শুরু হওয়া রিলিজের জন্য LTS 2.0 কার্নেল সংস্করণের 18 মাসের জীবনকাল প্রতিফলিত করে (সেপ্টেম্বর 2025 এর আগের রিলিজগুলির 12 মাসের জীবনকাল ছিল)।
  • সুযোগ: শুধুমাত্র জরুরি বাগ সংশোধন, প্রতীক তালিকা আপডেট, অথবা বিদ্যমান বৈশিষ্ট্য ঠিক করার জন্য প্যাচ প্রয়োগের জন্য রেস্পিনের অনুরোধ করুন।

প্যাচ জমা দেওয়ার মানদণ্ড

রেস্পিন অনুরোধ প্রক্রিয়াকরণের জন্য প্রত্যাশিত স্ট্যান্ডার্ড রেজোলিউশন সময় (ESRT) পূরণ করতে, রিলিজ শাখায় জমা দেওয়া সমস্ত প্যাচগুলিকে নিম্নলিখিত প্রযুক্তিগত নিয়মগুলি মেনে চলতে হবে।

সত্যের উৎস এবং চেরি-পিক

  • প্রথমে ডেভেলপমেন্ট ব্রাঞ্চ: ত্রৈমাসিক রিলিজ ব্রাঞ্চে যাওয়া সমস্ত প্যাচগুলিকে ইতিমধ্যেই মূল GKI ডেভেলপমেন্ট ব্রাঞ্চে মার্জ করতে হবে। উদাহরণস্বরূপ, যদি android15-6.6-2025-08 এর রেস্পিনের জন্য একটি প্যাচ প্রয়োজন হয়, তবে এটি ইতিমধ্যেই android15-6.6 এ মার্জ করতে হবে।
  • ক্লিন চেরি-পিক: আপনাকে সরাসরি ডেভেলপমেন্ট শাখা থেকে চেরি-পিক প্যাচগুলি নিতে হবে। অন্যান্য রিলিজ শাখা থেকে চেরি-পিক করবেন না (উদাহরণস্বরূপ, 2025-08 থেকে 2025-09 পর্যন্ত) কারণ এর ফলে লেখক বা কমিট তথ্য ডেভেলপমেন্ট শাখার সংস্করণের সাথে অসঙ্গতিপূর্ণ হতে পারে। অসঙ্গত তথ্য সহ প্যাচগুলি গ্রহণ করা হবে না।
  • মেটাডেটা সংরক্ষণ করুন: মূল কমিট মেটাডেটা (উদাহরণস্বরূপ, লেখক, মূল টাইমস্ট্যাম্প) সংরক্ষণ করুন। মেটাডেটা সংরক্ষণ করতে git cherry-pick -x ব্যবহার করুন।

কমিট চেইন

  • সিকোয়েন্সিয়াল চেইন: যদি রেস্পিন অনুরোধে একাধিক প্যাচ থাকে, তাহলে সেগুলিকে একক, সিকোয়েন্সিয়াল কমিট চেইন হিসেবে আপলোড করুন।
  • ABI এবং KMI প্লেসমেন্ট: যদি একটি মাল্টিপল-প্যাচ রেস্পিনে কার্নেল মডিউল ইন্টারফেস (KMI) এবং অ্যাপ্লিকেশন বাইনারি ইন্টারফেস (ABI) আপডেট থাকে (উদাহরণস্বরূপ, প্রতীক তালিকা পরিবর্তন বা XML/STG ফাইল আপডেট), তাহলে এই কমিটগুলি কমিট চেইনের একেবারে শেষে রাখুন।
  • রিবেসিং: যদি আপনি চেইনে একটি প্যারেন্ট কমিট সম্পাদনা করেন, তাহলে বিল্ড ব্যর্থতা এড়াতে আপনাকে অবশ্যই তার প্যারেন্ট প্যাচের সর্বশেষ সংস্করণের উপরে সমস্ত চাইল্ড প্যাচ রিবেস করতে হবে।
  • দ্বন্দ্ব সমাধান: যাচাই করুন যে কোনও প্যাচে কোনও দ্বন্দ্ব চিহ্নিতকারী উপস্থিত নেই।
  • বিল্ড যাচাইকরণ: সম্পূর্ণ কমিট চেইনটি সফলভাবে তৈরি করতে হবে।

প্রয়োজনীয় ট্যাগ

কমিট মেসেজে নিম্নলিখিত ট্যাগগুলি ছাড়াই রেস্পিন অনুরোধের অগ্রগতি ব্লক করা হয়েছে:

  • Change-Id : ডেভেলপমেন্ট শাখা পরিবর্তনের Change-Id অনুরূপ হতে হবে।
    • ব্যতিক্রম: যদি প্যাচটি LTS আপডেটের অংশ হিসেবে ডেভেলপমেন্ট শাখায় মার্জ করা হয়, তাহলে এটি LTS সংস্করণের একটি চেরি-পিক হওয়া উচিত এবং UPSTREAM প্যাচ হিসেবে ফর্ম্যাট করা উচিত। দেখুন কিভাবে আমি Android Common Kernels-এ প্যাচ জমা দেব
  • Bug (বিদ্যমান): বিদ্যমান Bug: XYZ ট্যাগগুলি সরানো উচিত নয়।
  • Bug (রেসপিন): আপনাকে একটি নতুন Bug: XYZ ট্যাগ যোগ করতে হবে, যেখানে XYZ বর্তমান রেসপিন অনুরোধের সাথে সম্পর্কিত বাগ আইডির সাথে সম্পর্কিত।
  • প্রয়োজনে UPSTREAM কমিট ট্যাগটি আপডেট করুন: যখন ডেভেলপমেন্ট শাখা থেকে রিলিজ শাখায় একটি CL চেরি-পিক করা হয় এবং CL UPSTREAM হিসাবে ট্যাগ করা হয়, তখন নিম্নলিখিত পরিস্থিতিগুলি বিবেচনা করুন:
    • যদি CL রিলিজ শাখায় পরিষ্কারভাবে প্রযোজ্য হয়, তাহলে আপনাকে কোনও অতিরিক্ত পদক্ষেপ নিতে হবে না।
    • যদি CL পরিষ্কারভাবে প্রয়োগ না করে, দ্বন্দ্বগুলি ঠিক করুন, ট্যাগটি BACKPORT এ আপডেট করুন এবং দ্বন্দ্ব সমাধানের অংশ হিসাবে কী করা হয়েছিল তা নথিভুক্ত করুন, তাহলে মেইনলাইন Linux থেকে ব্যাকপোর্টের জন্য প্রয়োজনীয়তা দেখুন।

অগ্রাধিকার এবং ESRT

GKI টিমকে অগ্রাধিকার নির্ধারণে সহায়তা করার জন্য রেস্পিন অনুরোধে একটি অগ্রাধিকার (জরুরি) নির্ধারণ করুন। এই অগ্রাধিকার GKI টিমকে সময়মত অংশীদারদের আরও ভালভাবে সহায়তা করতে সহায়তা করে।

  • গুরুত্বপূর্ণ বা সময়-সংবেদনশীল অনুরোধের জন্য, অগ্রাধিকার P0 হিসাবে চিহ্নিত করুন।
  • P0 এবং P1 অনুরোধের ক্ষেত্রে, আপনাকে জরুরিতার ন্যায্যতাও প্রমাণ করতে হবে।

নিম্নলিখিত টেবিলটি বাগ অগ্রাধিকার এবং সমাধানের সময় (ESRT) এর একটি ম্যাপিং প্রদান করে:

অগ্রাধিকার ইএসআরটি
পৃ.০ ২ কার্যদিবস
পৃ ১ ৫ কর্মদিবস
P2 সম্পর্কে ১০ কার্যদিবস
P3 সম্পর্কে ১৫ কার্যদিবস

SLA নীতিমালা

  • প্রতিটি রিলিজ শাখার জন্য একটি পৃথক রেস্পিন অনুরোধ জমা দিন।
  • যদি আপনার কোন রেস্পিন অনুরোধে পরিবর্তন থাকে যা সংশোধন করা হয়েছে বলে চিহ্নিত করা হয়েছে, তাহলে একটি নতুন রেস্পিন অনুরোধ জমা দিন। অতিরিক্ত পরিবর্তন তালিকা (CL) যোগ করার জন্য অনুরোধটি পুনরায় খুলবেন না।
  • যদি কোনও রেস্পিন অনুরোধের জন্য আপনার প্রতিক্রিয়া প্রয়োজন হয় এবং আপনি তিন কর্মদিবসের মধ্যে প্রতিক্রিয়া না জানান, তাহলে অগ্রাধিকারটি একটি স্তর দ্বারা ডাউনগ্রেড করা হয়, উদাহরণস্বরূপ, P0 কে P1 এ ডাউনগ্রেড করা হয়।
  • যদি আপনি দুই সপ্তাহ ধরে সাড়া না দেন, তাহলে বাগটি Won't Fix (Obsolete) হিসেবে চিহ্নিত হবে।

একটি রেস্পিন অনুরোধ জমা দিন

নিচের চিত্রটি রেস্পিন প্রক্রিয়াটি দেখায়। প্রক্রিয়াটি শুরু হয় যখন OEM অংশীদার (আপনি) রেস্পিন অনুরোধ জমা দেন।

জরুরি রেসপিন প্রক্রিয়া চিত্র ১. জরুরি রেস্পিন প্রক্রিয়া।

রেস্পিন অনুরোধ জমা দিতে:

  1. GKI রেস্পিন অনুরোধ ফর্মটি পূরণ করুন এবং অবিলম্বে আপনার গুগল যোগাযোগ কেন্দ্রের সাথে যোগাযোগ করুন।

    • এই ফর্মটি একটি GKI রেস্পিন অনুরোধ বাগ তৈরি করে।
  2. তোমার প্যাচগুলি প্রস্তুত করো:

    • প্যাচটি GKI ডেভেলপমেন্ট শাখায় মার্জ করা হয়েছে কিনা তা যাচাই করুন।
    • উপযুক্ত GKI রিলিজ শাখায় প্যাচটি প্রয়োগ করুন।
    • চেরি-পিক করা প্যাচটি সংশোধন করে রেস্পিন রিকোয়েস্ট আইডি উল্লেখ করে একটি Bug: XYZ ট্যাগ অন্তর্ভুক্ত করুন।

    উদাহরণ: android16-6.12 থেকে android16-6.12-2025-12 পর্যন্ত একটি CL চেরি-পিক করতে:

    # 1. Checkout the target release branch
    git checkout android16-6.12-2025-12
    
    # 2. Fetch the upstream development branch (Source of Truth)
    git fetch aosp android16-6.12
    
    # 3. Cherry-pick the commit (Preserving metadata)
    git cherry-pick -x <commit_hash>
    
    # 4. Update the commit message to include the Respin Bug ID
    # (Do not remove existing Bug IDs or change the Change-Id)
    
  3. বাগটি জমা দিন। অনুরোধ জমা দেওয়ার পরে নিম্নলিখিতটি ঘটে:

    • জমা দেওয়ার পর পর্যালোচনা প্রক্রিয়া:

      • গুগল জিকেআই টিম অনুরোধটি পর্যালোচনা করে এবং অনুমোদন করে অথবা আরও তথ্যের প্রয়োজন হলে এটি আপনাকে ফেরত দেয়।
      • কোনও সমাধানের বিষয়ে একমত হওয়ার পর, Google GKI টিম কোড পরিবর্তনটি পর্যালোচনা করে। এই পর্যালোচনার সময় ESRT টাইমার সক্রিয় থাকে। তবে, যদি প্যাচটি প্রত্যাখ্যান করা হয় বা পুনরায় কাজ করার প্রয়োজন হয়, তাহলে ESRT টাইমারটি রিসেট করা হয়।
      • GKI টিম পরিবর্তনটি মার্জ করে, তৈরি করে, রিগ্রেশন পরীক্ষা করে এবং প্রত্যয়িত করে।
    • মুক্তি: