נא לשקול את המשך העריכה בדף כתיבת_טלאי


יצירת פטצ'

מטרת המדריך

מטרת מדריך זה להדגים כתיבת פט'צ עבור פרויקט המשתמש בכלי האוטומציה של GNU ובמנהל גרסאות מסוג SVN.

למי מיועד המדריך

המדריך מיועד למפתחים המבקשים להשתתף בפרויקט קוד חופשי. המדריך מתיחס לכלים ספציפיים, אך הרעיונות והכללים יעבדו בכל פרויקט חופשי.

על איזו מערכת נבנה המדריך

המדריך נבנה על מערכת Debian GNU/Linux אך כל מערכת לינוקס תתאים. הוראות ההתקנה המדוייקות ספציפיות למערכת מבוססת Debian GNU/Linux, אך ינתנו הסברים כלליים גם עבור מערכות אחרות.

דברים שצריך לאסוף לפני תחילת העבודה

  • - כלי פיתוח וספריות המשמשות לכתיבת הפרויקט, בד”כ יהיה תעוד מסודר לאלו כלים וספריות נזדקק בקבצים מיוחדים בקוד.

במערכות Debian הפקודה הבאה תתקין את כל התכנות להן זקוקים בכתיבת פרוקיט C בסיסי:

  sudo apt-get install build-essential

במערכות אחרות צריך להקפיד כי במערכת יהיו מותקנים מהדרים וספריות בהתאם לצרכי הפרוייקט

  • - כלי האוטומציה של GNU.

במערכות Debian הפקודה הבאה תתקין את כלי האוטומציה של GNU

  apt-get install autoconf automake 

במערכות אחרות צריך להקפיד כי במערכת יהיו מתקנים כלי האוטומציה של GNUֹֹ

  • - מערכת ניהול גרסאות מסוג SVN.

במערכות Debian הפקודה הבאה תתקין את כל מערכת ניהול הגרסאות:

  apt-get install subversion 

במערכות אחרות צריך להקפיד כי במערכת תהיה מתקנת מערכת ניהול גרסאות מסוג subversion

מהלך העבודה

בחירת הפרויקט

השתתפות בפרויקט קוד חופשי נעשית בד”כ בהתנדבות וגוזלת זמן רב וסבלנות. כאשר אתם בוחרים את הפרוייקט שאתם רוצים לתרום לו קוד, בחרו פרוייקט שאתם באמת אוהבים ותהיו מוכנים להשקיע עבורו את הזמן והמאמצים הדרושים. רצוי לבחור פרויקט שאתם מכירים ומשתמשים בו, כך תדעו בדיוק מה אתם רוצים לשנות ולתקן בו.

הכנת הפט'צ

לאחר שהחלטנו מה בדיוק אנו רוצים לתקן או להוסיף לפרויקט אפשר להתחיל.

בד”כ אפשר למצוא בדף הפרויקט ברשת הוראות כיצד להוריד את קוד הפיתוח של הפרוייקט משרת ה subversion שלו. אם הוראות כאלו לא נמצאות באתר אפשר לפנות אל המפתחים ע”י רשימת הדיוור של הפרויקט, ערוץ irc או בדוא”ל לאחד המפתחים.

דוגמה להורדת קוד של פרויקט:

  svn co http://כתובת הפרויקט/svn/[module]/trunk [module]

לאחר שהורדנו את הקוד, נתבונן בו ונחפש קבצים המכילים מידע על הפרויקט, כלי הפיתוח והנהלים הקיימים בו.

autogen.sh : תסריט המשמש מעטפת לכלי האוטומציה של GNU , יוצר סביבת עבודה ראשונית ומוודא כי כל כלי הפיתוח קיימים במערכת.

  ./autogen.sh --prefix=/usr

ChangeLog : קובץ טקסט המתעד את השינויים שנעשו בקוד.

README : קובץ טקסט המתאר את הפרויקט.

HACKING : קובץ טקסט המתאר את הכללים והשיטות הנהוגים בפרויקט.

לאחר שלמדנו את הקבצים בפרויקט וזיהינו את קבצי הקוד, אפשר להמשיך.

נכין סביבת עבודה ראשונית ע”י שימוש ב autogen . אם חסרים לנו כלי פיתוח או ספריות, התסריט אמור להודיע לנו על כל הכלים החסרים ולהדריך אותנו בהתקנתם. כעת, לאחר שהרצת תסריט האיתחול הסתיימה בהצלחה, ניתן להדר את הפרויקט ע”י פקודת make, יש פרויקטים שידרשו הפעלת תסריט configure לפני ההידור.

  ./autogen.sh
  ./configure --prefix=/usr
  make

יש לנו פרויקט עובד, נריץ את קובץ ההרצה של הפרויקט ונבדוק כי גרסאת הפיתוח מתנהגת כצפוי ואף אחד לא תיקן את מה שרצינו לתקן לפנינו :-) .

כדי להכין את הפט'צ, צריך ללמוד את כללי העבודה של הפרויקט מקובץ ה HACKING אם כזה קיים וכן מהתבוננות בקוד עצמו. עכשיו אנו יכולים למצוא את הקובץ אותו אנו רוצים לשנות. בד”כ יהיה קל למצוא את הקובץ המתאים לפי שמו. אם הפרויקט גדול, ניתן לפנות למפתחים ע”י רשימת הדיוור של הפרויקט, ערוץ irc או בדוא”ל לאחד המפתחים.

לאחר שמצאנו את הקובץ שאנו רוצים לשנות, נתקן את הקוד, ונבדוק את התוצאה עד שנהיה מרוצים. לאחר שתקנו את כל שרצינו לתקן, ובדקנו שוב, שהקוד שיצרנו עומד בכללים ובהנחיות של מנהלי הפרויקט, אנו יכולים להכין פט'צ.

הפקודה הבאה תכין את קובץ הפט'צ:

  svn diff [filename] > [patch]
שליחת הפט'צ

לאחר שהכנו את הפט'צ, אנו יכולים לשלוח אותו למפתחי הפרויקט. אם כבר יצרנו קשר עם המפתחים באחד מערוצי התקשורת של הפרויקט, אנו כבר יודעים למי לפנות בפרויקט ואל מי לשלוח את הפט'צ. במידה וזו הפעם הראשונה שאנו יוצרים קשר עם המפתחים, רצוי לשלוח את הפט'צ תחילה לבגזילה של הפרויקט, אם כזו קיימת. אם אין לפרוייקט בגזילה אפשר לשלוח את הפט'צ לרשימת דיוור מתאימה או אפילו ישירות לאחד המפתחים.

איך להמשיך

בהמשך העבודה בודאי תרצו להתקין כלי פיתוח נוספים וספריות פיתוח חדשות. אפשר למצוא מדריכים לשימוש בכלים אלו ברשת ופה באתר.

מדריכי תכנות

מדריכי תכנות - אוסף מדריכי התכנות בפנגווין.

מדריכים/כתיבת_פט_צ_א.txt · שונה לאחרונה ב: 2008/06/19 18:34 (עריכה חיצונית)
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0