[Howto] צור חבילות תוכנה ונגזרות של Arch Linux

אחד הדברים שאני הכי אוהב ב- Arch Linux ובנגזרות שלו הוא קלות אדירה כדי ליצור חבילות להתקנה מאוחרת יותר במערכת, בניגוד לחבילות המוכרות deb של דביאן / אובונטו / לינוקס מנטה / וכו 'זה כאוס (ואם הם ספריות אני לא אומר לך).

תבנית בסיס תהיה זו:

# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()

build() {
...
}
package() {
...
}

כעת אסביר על כל פרמטר:

  • # מתחזק: בו שמים את תחזוקת החבילה
  • שם חבילה: שם החבילה. הוא יכול להכיל רק אותיות, מספרים, -, _ ו- +
  • pkver: גרסת חבילה. pe 1.0.0
  • pkgrel: סקירת התוכנית או החבילה. pe 1
  • pkgdesc: תיאור החבילה.
  • קֶשֶׁת: הארכיטקטורה של התוכנית: היא יכולה להיות כל אחת (לכולם), i686 ו- x86_64, בהיותה חבילות שאינן דורשות אוסף, כמו תוכניות bash או python. אם מדובר בתוכנית שזקוקה לה (למשל, תוכניות ב- C או C ++), עליכם לציין את i686 אם מדובר על 32 סיביות או על x86_64 עבור 64 סיביות. באופן כללי, אם הוא תואם לשניהם, הוא מוגדר (i686, x86_64)
  • url: כתובת האתר לדף הרשמי של התוכנית. רצוי לשים את זה.
  • רישיון: רישיון התוכנית. למשל GPL3
  • קבוצות: את הקבוצות אליהן שייכת החבילה. קבוצות = ('מערכת')
  • תלוי: בה אנו מציינים את החבילות הדרושות לביצוע התוכנית. pependens = ('python2' 'pygtk')
  • מכין תלוי: התלות הנדרשת רק להרכבת החבילה. אם יש להוריד את הקוד ממנהל גרסאות, מומלץ לשים אותו. pe: makedepends = ('git')
  • מקור: בו אנו מציינים את הקבצים הדרושים ליצירת החבילה. ככלל, כתובת האתר לחבילה היא המכילה את הקוד, תיקון, קובץ .desktopt, אייקונים וכו '. pe: source = (pacsyu.desktop)
  • md5sums: להלן סכומי md5 של הקבצים שצוינו במקור. כדי לדעת אילו מהם אנו מריצים ממסוף בתיקייה בה נמצא PKGBUILD (לאחר שכתבנו את נתיבי הקבצים במקור) makepkg -g והסכומים יופיעו על המסך.
    אפשר גם להשתמש בסכומים אחרים כמו sh1.
  • לִבנוֹת: בפונקציה זו נכניס את פקודות הנדרשות כדי להמשיך ולקמפל את התוכנה. אם אין צורך לקמפל יש צורך רק בפונקציה הבאה)
  • חבילה: בפונקציה אחרת זו פקודות התקנת התוכנית ילכו. לדוגמה, אם אנו מקבצים קוד C כאן ההתקנה make תעבור.

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

  • -אני: מורה ל- makepkg להתקין את החבילה לאחר יצירתה.
  • -s: התקן את תלות החבילה אם הם נמצאים במאגרים.
  • -F: אם כבר קיימת חבילה עם שם, גרסה ותיקון זה עם פרמטר זה אנו אומרים לך להחליף אותו.
  • -ג: נקה את תיקיות העבודה (pkg והמקור) לאחר סיום.
  • -א: ארוז מחדש את החבילה מבלי להידרש מחדש.

אני ממליץ לראות יותר קבצי PKGBUILD כדי לראות דוגמאות נוספות, לבצע את הפקודה makepkg -h כדי לראות את שאר פרמטרי התוכנית, בנוסף לראות את makepkg תיעוד רשמי ב- Arch Linux Wiki מה אתה יכול למצוא כאן


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   ג'אמין-סמואל דיג'ו

    טוב מאוד …

    האם אתה יכול לגרום לחבילת .exe לנהל (לקמפל) לחבילת Arch?

    כמו למשל מנהל ההורדות המפורסם המיפוני ??

    1.    תָקִין דיג'ו

      עד כמה שידוע לי זה לא אפשרי, זכור כי ה- .exe הם בינאריות ולא קוד מקור. אבל יש JDownloader.

    2.    v3on דיג'ו

      מישהו משתמש בלינוקס ומתגעגע למיפוני ... ג'יג'יג'יג'י

      jDownloader נמצא בג'אווה, וידוע לכל שג'אווה גורמת לסרטן ריאות ...

  2.   28 דיג'ו

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

  3.   MSX דיג'ו

    קלט טוב, +1
    אני רוצה להוסיף שהם גם קלים יותר ליצירה ותחזוקה מאשר ג'נטו ebuilds!

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

  4.   87 דיג'ו

    תודה רבה, חיפשתי את זה לאחרונה בוויקי ולא הבנתי את המבנה (רציתי לעדכן את ה- PlayonLinux) אבל עדיין וויתרתי ... יש דברים שהייתי רוצה שיהיה לי עוזר או משהו כזה (אל תירה בי) אבל עדיין ... בהיעדר כלים לאורך זמן אראה אם ​​אני יוצר כאלה

    1.    MSX דיג'ו

      בזכות המדריך שלך התחלתי ליצור את PKGBUILD של Zeya (http://web.psung.name/zeya/ברגע שאני מסיים את זה, אני מעלה אותו ל- AUR 🙂

  5.   hypersayan_x דיג'ו

    שלא כמו .deb הידוע של דביאן / אובונטו / לינוקס מנטה / וכו 'שהוא בלגן

    מסכים לחלוטין, לפני זמן מה ניסיתי ליצור חבילה לאובונטו ולא היה אפשרי עבורי למצוא מידע מובן כיצד ליצור כזה, בסופו של דבר ויתרתי והתקנתי את התוכנית בערך.
    לאותה תוכנית לארץ לקח לי פחות מחמש דקות להרכיב את החבילה.
    ואני לא בטוח, אבל אני חושב ש- RPM מעט קל יותר לעשות מאשר DEB, אבל קשה יותר מ- Arch.

  6.   775. רחוב דיג'ו

    טוב מאוד וקל, ובאשר ל- .deb זה לא כל כך קשה, ובכן עבור iOS

    לגבי

  7.   קרלוס דיג'ו

    אני חושב שזה היה משרת אותי לפני זמן מה כשהעליתי את ה- PKGBUILD הראשון שלי ל- AUR 🙂

  8.   קלרפל דיג'ו

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