Có thể có được một bản vá trong bản phát hành hiện tại? Nếu vậy thì thế nào?


15

Vì vậy, một lúc trước, tôi đã báo cáo một lỗi trong plugin Place Window của Compiz . Đây là một hồi quy khá lớn đối với những người bị ảnh hưởng bởi nó: chủ yếu là những người sử dụng Gnome-Fallback, đánh giá theo các báo cáo.

Một bản vá xuất hiện một thời gian ngắn sau đó. Tôi đã tạo một PPA để thử nghiệm và mọi người liên quan cho đến nay đang báo cáo các vấn đề đã được khắc phục. Nó thậm chí còn sửa một lỗi khác . Tôi đã thực hiện thử nghiệm với máy tính để bàn Unity tiêu chuẩn và có thể nói (đối với thử nghiệm của tôi) không có tác dụng phụ nào có thể nhìn thấy.

Tôi muốn chuyển cái này sang Ubuntu ngay bây giờ vì hai lý do chính:

  • Tôi ích kỷ. Tôi không muốn cập nhật PPA của mình mỗi khi phiên bản Compiz mới được đẩy lên 12.04.
  • Tôi không muốn người dùng Ubuntu nhìn thấy cửa sổ của họ bay xung quanh vì một lỗi nhỏ ngớ ngẩn.

Tôi muốn bản vá này được đẩy lên phiên bản Compiz của Ubuntu càng sớm càng tốt, vì vậy chúng tôi có thể đánh dấu các lỗi này được sửa và tiếp tục với cuộc sống của chúng tôi.

Tôi phải gồng chân để lấy cái này vào Ubuntu ngay bây giờ?

Tôi không duy trì dự án này và đó là một điều ngược dòng nhưng nó khá hợp với Ubuntu. Tôi có thể đến Compiz nhưng tôi tưởng tượng rằng nếu họ chấp nhận bản vá, sẽ mất vài tháng (ít nhất là một bản phát hành) trước khi nó ở bất cứ đâu gần Ubuntu.

Và khi tôi tìm đúng người, làm thế nào tôi có thể làm cho quá trình trở nên khéo léo nhất có thể cho họ?

Tôi muốn họ thấy yêu cầu của tôi, đi "Yup, tất cả đều tuyệt, đã hoàn thành" và thế là xong. Tôi không muốn mười bảy vòng email giải quyết các khía cạnh của bản vá. Quan trọng hơn, tôi cũng không muốn lãng phí thời gian của họ.

Và tôi phải cung cấp những gì cho họ? Kỹ năng đóng gói của tôi là ... than thở. Đây là nỗ lực đầu tiên của tôi trong việc vá một gói để phân phối lại vì vậy có lẽ tôi đã mắc phải mọi lỗi đóng gói duy nhất mà con người biết đến. Họ sẽ hài lòng với bản vá gốc (vì vậy họ có thể tự áp dụng nó) hoặc tôi nên đóng gói lại mọi thứ để diff / changelog sạch hơn một chút (tôi phải mất một vài lần và phiên bản đã xuất hiện ở mọi nơi).

Lưu ý: Câu hỏi này là về Compiz nhưng tôi thích nếu câu trả lời cũng có thể giải quyết các kiểu gói khác để chúng tôi có một chủ đề chính thức và toàn diện về cách khắc phục mọi thứ.

Câu trả lời:


14

Như Dobey đã đề cập, để bản vá được chấp nhận vào phiên bản Ubuntu đã phát hành, nó phải thông qua quy trình Cập nhật phát hành ổn định (SRU). Thanh để nhập cho SRU là khá cao. Một cách đơn giản để tổng hợp suy nghĩ đằng sau quá trình này có thể là: "Lỗi chúng tôi biết là tốt hơn lỗi mà chúng tôi không biết." Trong thực tế, điều đó có nghĩa là chỉ sửa lỗi được nhắm mục tiêu mới được phép và không có thay đổi nào quá "xâm phạm".

Có một số yêu cầu phải được đáp ứng để tiến hành SRU:

  • Lỗi được sửa trong bản phát hành phát triển hiện tại (tức là định lượng).
  • Mô tả của báo cáo lỗi phải được cập nhật để đưa ra lời biện minh cho lý do cần khắc phục trong bản phát hành ổn định, trường hợp kiểm tra để tái tạo lỗi và xác minh lỗi đã được sửa và thảo luận về tiềm năng hồi quy của sửa lỗi.
  • Nhóm Launchpad ubuntu-srunên được đăng ký vào báo cáo lỗi.
  • Gói này sau đó được tải lên để phát hành-proposed Để điều này xảy ra, bạn sẽ cần trải qua quá trình tài trợ (thông tin thêm bên dưới).

Sau tất cả những gì đã xảy ra, nhóm SRU sẽ xác minh rằng gói trong -proposedgiải quyết lỗi. Sau đó, gói sẽ được đẩy vào -updatessau khi nó vượt qua giai đoạn lão hóa tối thiểu là 7 ngày.

Tìm đúng người

Câu hỏi của bạn gợi ý rằng đôi khi Launchpad có vẻ như là nơi các bản vá sẽ chết. Đáng buồn thay, nếu bạn không biết quá trình nó có thể cảm thấy như vậy, nhưng tôi thề nó không thực sự tệ đến vậy. May mắn thay, điều chính bạn cần biết là đơn giản. Kiểm tra quá trình tài trợ cho tất cả các chi tiết và một số gợi ý, nhưng phần quan trọng nhất là đăng ký ubuntu-sponsorsnhóm để báo cáo lỗi. Điều đó đảm bảo rằng nó sẽ hiển thị trong hàng tài trợ và được xem xét bởi một nhà phát triển Ubuntu trung thực.

Nếu bạn cần nói chuyện gì đó trong thời gian thực, #ubuntu-develtrên Freenode IRC sẽ thực hiện thủ thuật này. Kiểm tra chủ đề kênh cho thí điểm vá hiện tại. Họ ở đó để giúp bạn. Nếu không có phi công trực, vui lòng yêu cầu trợ giúp trong kênh, nhưng xin hãy kiên nhẫn.

Chuẩn bị mọi thứ sẵn sàng để đi

Để làm cho quá trình diễn ra nhanh nhất có thể, có một vài điều cần làm.

Cập nhật mô tả lỗi để trông giống như:

[Sự va chạm]

Dưới đây là lời giải thích về tác động của lỗi đối với người dùng và lời biện minh cho việc đưa bản sửa lỗi vào bản phát hành ổn định

[Trường hợp thử nghiệm]

  1. Bươc

  2. Bởi

  3. Bươc

  4. Hướng dẫn

  5. Để xác minh

  6. Sửa chữa

[Tiềm năng hồi quy]

Đây là một cuộc thảo luận về bất kỳ tiềm năng cho hồi quy.

[Báo cáo gốc]

Mỗi thứ được sử dụng trong mô tả được giữ lại bên dưới.

Tiếp theo, chuẩn bị các bản vá của bạn. Mọi thứ sẽ đi nhanh hơn nhiều nếu bạn cung cấp debdiffs rằng chăm sóc tất cả các bit đóng gói chứ không phải là một bản vá chống lại nguồn thượng nguồn. Điều này bao gồm sử dụng hệ thống vá gói nếu nó sử dụng một. May mắn thay add-patchtừ ubfox-dev-toolsCài đặt công cụ ubfox-dev có thể chăm sóc điều đó cho bạn.

Hãy đi qua đây. Đầu tiên lấy nguồn và bản vá trong báo cáo lỗi:

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

Bây giờ chúng tôi sẽ thêm bản vá vào gói nguồn:

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

Điều này sẽ thêm bản vá vào debian/patchesvà chạy dchnhắc bạn thêm một mục mới để debian/changelogĐiều chỉnh mục nhập được nhắm mục tiêu đề xuất và tăng số phiên bản để nó sẽ ở dưới phiên bản tiếp theo được tải lên bản phát hành phát triển. Thích như vậy:

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

Tệp tại debian/patches/fix-974242.patchcũng có một số tiêu đề mà bạn có thể muốn chỉnh sửa:

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

Bây giờ xây dựng gói nguồn mới của bạn:

$ debuild -S -us

Và tạo debdiff:

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

Bây giờ bạn có thể đính kèm debdifftệp kết quả vào báo cáo lỗi của bạn.


câu trả lời tuyệt vời, công cụ tốt. Bạn có thể muốn lưu ý rằng ít nhất là đến 12.04 / 12.10 lệnh pull-lp-source. Đừng có sớm hơn để xem nếu / khi đó làpull-launchpad-source
doug

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.