क्या वर्तमान रिलीज़ में पैच शामिल करना संभव है? यदि हां, तो कैसे?


15

इसलिए थोड़ी देर पहले मैंने कॉम्पिज़ के प्लेस विंडो प्लगइन में एक बग की सूचना दी । यह प्रभावित लोगों के लिए एक बहुत बड़ा प्रतिगमन है: मुख्य रूप से ग्नोम-फालबैक का उपयोग करते हुए, रिपोर्टों को देखते हुए।

थोड़ी देर बाद एक पैच सामने आया। मैंने परीक्षण के लिए एक पीपीए बनाया और इसमें शामिल सभी लोग रिपोर्ट कर रहे हैं कि मुद्दे तय हो गए हैं। यह भी एक और बग को ठीक करता है । मैंने एक मानक एकता डेस्कटॉप के साथ परीक्षण किया है और कह सकता हूं (मेरे परीक्षण के लिए) कोई प्रतिकूल प्रभाव दिखाई नहीं दे रहा था।

मैं इसे दो मुख्य कारणों से अभी उबंटू में धकेलना चाहता हूं:

  • मैं स्वार्थी हूँ। मुझे हर बार अपने पीपीए को अपडेट करने की आवश्यकता नहीं है, जब भी कॉम्पिज़ का एक नया संस्करण 12.04 को धकेल दिया जाता है।
  • मैं उबंटू उपयोगकर्ताओं को अपनी खिड़कियों को एक नीच छोटी बग के कारण चारों ओर उड़ते हुए नहीं देखना चाहता।

मैं चाहता हूं कि यह पैच जल्द से जल्द उबंटू के कॉम्पिज़ के संस्करण में धकेल दिया जाए, इसलिए हम इन बगों को चिह्नित कर सकते हैं और अपने जीवन के साथ आगे बढ़ सकते हैं।

इस समय उबंटू में खींचे जाने के लिए मुझे किसका पैर काटना होगा?

मैं इस परियोजना को बनाए नहीं रखता और यह एक अपस्ट्रीम चीज है लेकिन यह उबंटू के लिए काफी अभिन्न है। मैं कॉम्पिज़ जा सकता था लेकिन मुझे लगता है कि अगर वे पैच को स्वीकार करते हैं, तो उबंटू के पास कहीं भी होने से पहले यह महीनों (कम से कम एक रिलीज) होगा।

और जब मुझे सही व्यक्ति मिल जाता है, तो मैं उनके लिए प्रक्रिया को जितना संभव हो उतना धीमा बना सकता हूं?

मैं चाहता हूं कि वे मेरे अनुरोध को देखें, "यूप, यह सब बहुत अच्छा लग रहा है, किया" और वह यह है। मुझे पैच के पहलुओं को संबोधित करने वाले ईमेल के सत्रह राउंड नहीं चाहिए। इससे भी महत्वपूर्ण बात, मैं अपना समय बर्बाद नहीं करना चाहता।

और मुझे उन्हें क्या प्रदान करना है? मेरे पैकेजिंग कौशल हैं ... विलाप। यह पुनर्वितरण के लिए एक पैकेज को पैच करने का मेरा पहला प्रयास था इसलिए मैंने शायद हर एक पैकेजिंग त्रुटि को मनुष्य के लिए जाना है। क्या वे मूल पैच से खुश होंगे (इसलिए वे इसे स्वयं लागू कर सकते हैं) या क्या मुझे चीजों को फिर से बेचना चाहिए ताकि अंतर / चैंजोग थोड़ा क्लीनर हो (इसमें मुझे कुछ ही समय लगा और संस्करण सभी जगह है)।

नोट: यह सवाल है Compiz के बारे में है, लेकिन अभी हम कैसे चीजें मिल तय करने के लिए की एक आधिकारिक और व्यापक धागा है मैं अगर जवाब पैकेज के अन्य शैलियों को संबोधित कर सकता भी पसंद करेंगे।

जवाबों:


14

जैसा कि डोबे ने उल्लेख किया है, एक पैच के लिए उबंटू के पहले से जारी संस्करण में स्वीकार किए जाने के लिए, इसे स्टेबल रिलीज अपडेट (एसआरयू) प्रक्रिया के माध्यम से प्राप्त करना होगा । SRUs में प्रवेश के लिए बार काफी अधिक है। इस प्रक्रिया के पीछे की सोच को समझने का एक सरल तरीका हो सकता है: "जिस बग को हम जानते हैं वह उस बग से बेहतर है जिसके बारे में हम नहीं जानते हैं।" व्यवहार में, इसका मतलब है कि केवल लक्षित बग फिक्स की अनुमति है और कोई भी परिवर्तन जो "घुसपैठ" भी नहीं है।

SRU के साथ आगे बढ़ने के लिए कई आवश्यकताएँ पूरी होनी चाहिए:

  • बग को वर्तमान विकास रिलीज (यानी क्वांटल) में तय किया गया है।
  • बग रिपोर्ट के विवरण को स्थिर रिलीज में क्यों ठीक करने के लिए एक औचित्य शामिल करने के लिए अपडेट किया जाना चाहिए, बग को पुन: पेश करने और इसे सत्यापित करने के लिए एक परीक्षण का मामला है, और फिक्स के प्रतिगमन क्षमता की चर्चा है।
  • लॉन्चपैड टीम ubuntu-sruको बग रिपोर्ट की सदस्यता दी जानी चाहिए।
  • पैकेज को फिर रिलीज-proposed करने के लिए अपलोड किया गया है ऐसा होने के लिए, आपको प्रायोजन प्रक्रिया (नीचे अधिक जानकारी) के माध्यम से जाना होगा ।

यह सब होने के बाद, SRU टीम यह सत्यापित करेगी कि पैकेज -proposedबग को हल करता है। फिर पैकेज को -updates7 दिनों की न्यूनतम उम्र बढ़ने की अवधि के बाद धकेल दिया जाएगा ।

सही व्यक्ति का पता लगाना

आपका प्रश्न इस तथ्य पर संकेत देता है कि कभी-कभी लॉन्चपैड ऐसा लगता है कि जहां पैच मरने के लिए जाते हैं। अफसोस की बात है, अगर आप इस प्रक्रिया को नहीं जानते हैं तो ऐसा महसूस कर सकते हैं, लेकिन मैं कसम खाता हूँ कि यह वास्तव में बुरा नहीं है। सौभाग्य से, मुख्य चीज जिसे आपको जानना आवश्यक है, वह सरल है। की जाँच करें प्रायोजन प्रक्रिया सभी विवरण और कुछ संकेत के लिए है, लेकिन सबसे महत्वपूर्ण हिस्सा सदस्यता के लिए है ubuntu-sponsorsबग रिपोर्ट करने के लिए टीम। यह सुनिश्चित करता है कि यह प्रायोजन कतार में दिखाई देगा और भगवान उबंटू डेवलपर के लिए एक ईमानदार द्वारा देखा जाएगा।

यदि आप वास्तविक समय में कुछ बात करने की जरूरत है, तो #ubuntu-develFreenode पर IRC चाल करेगा। वर्तमान पैच पायलट के लिए चैनल विषय की जाँच करें। वे वहाँ आपकी मदद करने के लिए हैं। यदि ड्यूटी पर कोई पायलट नहीं है, तो बेझिझक चैनल में मदद मांग सकते हैं, लेकिन कृपया धैर्य रखें।

जाने के लिए सब कुछ तैयार हो रहा है

प्रक्रिया को जल्द से जल्द करने के लिए कुछ चीजें करने की आवश्यकता है।

जैसे दिखने के लिए बग विवरण अपडेट करें:

[प्रभाव]

यहां उपयोगकर्ताओं पर बग के प्रभाव की व्याख्या और स्थिर रिलीज को ठीक करने के लिए एक औचित्य है

[परीक्षण का मामला]

  1. चरण

  2. द्वारा

  3. चरण

  4. अनुदेश

  5. जांचना

  6. जोड़

[प्रतिगमन क्षमता]

यहाँ प्रतिगमन के लिए किसी भी क्षमता की चर्चा है।

[मूल रिपोर्ट]

विवरण में उपयोग होने वाली प्रत्येक चीज़ को नीचे रखा गया है।

इसके बाद, अपने पैच तैयार करें। यदि आप डिबीडीफ प्रदान करते हैं तो चीजें बहुत तेज होंगी जो अपस्ट्रीम स्रोत के खिलाफ पैच के बजाय सभी पैकेजिंग बिट्स की देखभाल करती हैं। इसमें पैकेज पैच सिस्टम का उपयोग करना शामिल है यदि यह एक का उपयोग करता है। सौभाग्य add-patchसे उबंटु-देव-उपकरणUbuntu-dev-tools स्थापित करें आपके लिए इसका ख्याल रख सकते हैं।

इससे चलते हैं। पहले बग रिपोर्ट में स्रोत और पैच को पकड़ो:

$ pull-lp-source compiz precise
$ wget https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/974242/+attachment/3141645/+files/fix-974242.patch 

अब हम स्रोत पैकेज में पैच जोड़ देंगे:

$ cd compiz-0.9.7.8/
$ add-patch ../fix-974242.patch

यह पैच को जोड़ देगा debian/patchesऔर dchआपको debian/changelogप्रस्तावित प्रविष्टि को समायोजित करने और संस्करण संख्या को बढ़ाने के लिए प्रविष्टि को समायोजित करने के लिए एक नई प्रविष्टि जोड़ने के लिए प्रेरित करेगा ताकि यह विकास रिलीज़ पर अपलोड किए गए अगले संस्करण से नीचे हो। इस तरह:

compiz (1:0.9.7.8-0ubuntu1.1) precise-proposed; urgency=low

  * debian/patches/fix-974242.patch: [DESCRIBE CHANGES HERE]

 -- Your Name <you@example.com>  Mon, 11 Jun 2012 17:37:59 -0400

फ़ाइल में debian/patches/fix-974242.patchकुछ हेडर भी हैं जिन्हें आप संपादित करना चाहते हैं:

## Description: add some description
## Origin/Author: add some origin or author
## Bug: bug URL

अब अपने नए स्रोत पैकेज का निर्माण करें:

$ debuild -S -us

और debdiff बनाएँ:

$ cd ..
$ debdiff compiz_0.9.7.8-0ubuntu1.dsc compiz_0.9.7.8-0ubuntu1.1.dsc > sru-for-lp-974242.debdiff

अब आप debdiffअपनी बग रिपोर्ट में परिणामी फ़ाइल संलग्न कर सकते हैं ।


उत्कृष्ट उत्तर, अच्छा सामान। आप यह नोट करना चाहेंगे कि कम से कम 12.04 / 12.10 कमांड है pull-lp-source। यह देखने के लिए पहले कोई भी नहीं है कि क्या / कब हुआ थाpull-launchpad-source
doug

3

इसे 12.04 पर शिप करने के लिए स्टेबल रिलीज़ अपडेट की आवश्यकता होगी। देखें https://wiki.ubuntu.com/StableReleaseUpdates उन में प्राप्त करने के लिए सुधारों की स्वीकार्य प्रकार, और प्रक्रिया के लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.