Skip to main content

מדריך אריזה של אובונטו - אריזות עם דלהל

How to Build and Install Hadoop on Windows (אַפּרִיל 2025)

How to Build and Install Hadoop on Windows (אַפּרִיל 2025)
Anonim

אריזות עם דלהפר

חשוב

דרישות: הדרישות מהקטע הנקרא "אריזות מאפס" בתוספת דלפל ו- dh-make

בתור Packager, אתה רק לעתים נדירות ליצור חבילות מאפס כפי שעשינו בסעיף הקודם. כפי שאתה יכול לדמיין, רבים של משימות ומידע ב כללים קובץ, למשל, משותפים חבילות. כדי להפוך את האריזה לקלה ויעילה יותר, תוכל להשתמש בה debhelper כדי לעזור עם משימות אלה. Debhelper היא קבוצה של סקריפטים Perl (עם קידומת dh_) אשר להפוך את תהליך בניית החבילה. עם סקריפטים אלה, בניית חבילה דביאן הופך די פשוט.

בדוגמה זו, נבנה שוב את חבילת GNU Hello, אך הפעם נשווה את העבודה שלנו לאובונטו שלום-דלהפר החבילה. שוב, ליצור ספריה שבה אתה תהיה עובד:

mkdir ~ / hello-debhelper cd ~ / hello-debhelper wget http://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz mkdir ubuntu cd ubuntu

לאחר מכן, קבל את חבילת המקור של אובונטו:

apt- לקבל מקור hello-debhelper cd ..

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

tar -xzvf hello-2.1.1.tar.gz

במקום להעתיק את הזרם במעלה hello_2.1.1.orig.tar.gz כפי שעשינו בדוגמה הקודמת, אנו נותנים dh_make לעשות את העבודה בשבילנו. הדבר היחיד שאתה צריך לעשות הוא לשנות את שם התיקייה המקור כך שהוא בצורה של - שם packagename הוא קטן. במקרה זה, רק untarring את tarball מייצר כראוי בשם ספריית המקור, כך שאנחנו יכולים לעבור לתוכו:

cd hello-2.1.1

כדי ליצור את "debianization" הראשונית של המקור נשתמש dh_make.

dh_make -e your.maintainer@address -f ../hello-2.1.1.tar.gz

dh_make ואז לשאול אותך סדרה של שאלות:

סוג של חבילת: בינארי יחיד, בינארי מרובים, ספריה, מודול הקרנל או cdbs? s / m / l / k / b s שם המחזיק: Captain Packager כתובת דוא"ל: [email protected] תאריך: א ', 6 אפריל 2006 10:07:19 -0700 שם החבילה: hello גרסה: 2.1.1 רישיון: ריק סוג של חבילה: Single Hit כדי לאשר: להיכנס

זהירות

רק לרוץ dh_make -e פעם אחת. אם אתה מפעיל את זה שוב אחרי שאתה עושה את זה בפעם הראשונה, זה לא יעבוד כראוי. אם אתה רוצה לשנות את זה או עשה טעות, להסיר את ספריית המקור ו untar את המעלה במעלה שוב. לאחר מכן תוכל לעבור לספריית המקור ולנסות שוב.

רץ dh_make -e עושה שני דברים:

  • יוצר את hello_2.1.1.orig.tar.gz קובץ בספריית האב,
  • יוצר את הקבצים הבסיסיים הדרושים debian / ואת קבצי תבנית רבים (.ex) כי ייתכן שיהיה צורך.

ה שלום התוכנית היא לא מאוד מסובך, וכפי שראינו בסעיף שנקרא "אריזות מאפס", אריזה זה לא דורש הרבה יותר מאשר קבצים בסיסיים. לכן, הבה נסיר את .ex קבצים:

cd debian rm * .ex * .EX

ל שלום, גם אתה לא

* רישיון

* מדריך לאריזה של אובונטו

צורך README.Debian (קובץ README עבור נושאים ספציפיים של דביאן, לא של README של התוכנית) dirs (בשימוש ע"י dh_installdirs כדי ליצור ספריות הדרושות), דוק (בשימוש ע"י dh_installdocs כדי להתקין תיעוד התוכנית), או מידע (בשימוש ע"י dh_installinfo כדי להתקין את קובץ המידע) קבצים לתוך debian ספרייה. לקבלת מידע נוסף על קבצים אלה, עיין בסעיף שנקרא "dh_make קבצים לדוגמה".

בשלב זה, אתה צריך רק changelog, compat, שליטה, זכויות יוצרים, ו כללים קבצים ב - Windows debian ספרייה. מתוך הקטע שנקרא "אריזות מאפס", הקובץ היחיד הוא חדש compat, שהוא קובץ המכיל את debhelper גרסה (במקרה זה 4) המשמש.

יהיה עליך להתאים את changelogמעט במקרה זה כדי לשקף את החבילה הזו בשם שלום-דלהפר ולא רק שלום:

שלום- debhelper (2.1.1-1) dapper; דחיפות = נמוך * שחרור ראשוני - קפטן Packager Thu, 6 Apr 2006 10:07:19 -0700

על ידי שימוש ב debhelper, הדברים היחידים שאנחנו צריכים לשנות שליטה הם שם (החלפת שלום ל שלום-דלהפר) והוספת debhelper (> = 4.0.0) אל ה בנה תלוי שדה עבור חבילת המקור. חבילת אובונטו עבור שלום-דלהפר נראה כמו:

מקור: hello-debhelper מדור: devel עדיפות: תוספת תחזוקה: Capitan Packager Standard-Version: 3.6.1 Build- תלוי: debhelper (> = 4) חבילה: hello-debhelper אדריכלות: כל תלוי: $ {shlibs: Depends} קונפליקטים: שלום מספק: hello מחליף: שלום תיאור: ברכה קלאסית, דוגמה טובה תוכנית גנו שלום מפיקה ברכה ידידותית וידידותית. זה מאפשר שאינם מתכנתים להשתמש בכלי מדעי המחשב הקלאסי אשר אחרת היה זמין להם. . ברצינות, אם כי: זוהי דוגמה כיצד לעשות חבילה דביאן. זוהי גרסת דביאן של תוכנית 'שלום עולמי' של פרוייקט גנו (שהיא עצמה דוגמה לפרויקט גנו). . זה אותו דבר כמו חבילה שלום, אלא הוא משתמש debhelper כדי להפוך את הדיון. אנא ראה debhelper כמו מה זה.

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

cp ../../ubuntu/hello-debhelper-2.1.1/debian/copyright. cp ../../ubuntu/hello-debhelper-2.1.1/debian/postinst. cp ../../ubuntu/hello-debhelper-2.1.1/debian/prerm. cp ../../ubuntu/hello-debhelper-2.1.1/debian/rules.

הקובץ האחרון שאנחנו צריכים להסתכל עליו הוא כללים, שבו הכוח של debhelper סקריפטים ניתן לראות. ה debhelper גרסה של כללים הוא קצת יותר קטן (54 שורות לעומת 72 שורות בגירסה מתוך סעיף שנקרא "כללים").

ה debhelper נראיתפית you

# = / usr / bin / make -f package = hello-debhelper CC = GCC CFLAGS = -g -Wall ifeq (, $ (findstring noopt, $ (DEB_BUILD_OPTIONS)) CFLAGS + = -O2 endif #export DH_VERBOSE = 1 נקי : dh_testdir dm_clean rm -f build - $ (MAKE) -i דייקליאן התקנה: לבנות dh_clean dh_installdirs $ (MAKE) קידומת = $ (CURDIR) / debian / $ (package) / usr mandir = $ (CURDIR) / debian / $ (US) / us / share / info / install / man infodir = $ (CURDIR) / debian / $ (package) / usr / share / info build build: ./configure --prefix = / usr $ (MAKE) CC = "$ (CC) "CFLAGS =" $ (CFLAGS) "

לגעת בינארי indep: להתקין # אין קבצים עצמאיים אדריכלות להיות נטען # שנוצר על ידי חבילה זו. אם היו שם הם היו עושים כאן #. binary-arch: dh_testdir-dh_testdir -a dh_installdocs-a dh_indalldocs- חדשות dh_installalelogs-a ChangeLog dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb-dh_shlibdeps-dh_gencontrol -a dh_md5sums -a dh_builddeb-a בינארי: קשת. PHHONY: בינארי בינארי קשת בינארית- indep נקי checkroot

שים לב כי משימות כמו בדיקה אם אתה בספרייה הנכון (dh_testdir), וודא שאתה בונה את החבילה עם הרשאות root (dh_testroot), התקנת תיעוד (dh_installdocs ו dh_installchangelogs), וניקוי לאחר לבנות (dh_clean) מטופלים באופן אוטומטי. חבילות רבות הרבה יותר מסובך שלום יש כללים קבצים לא גדול יותר בגלל debhelper סקריפטים להתמודד עם רוב המשימות. לקבלת רשימה מלאה של debhelper סקריפטים, עיין בסעיף שנקרא "רשימת debhelper סקריפטים ", והם מתועדים היטב איש דפים. זה תרגיל שימושי לקרוא את דף האיש (הם כתובים היטב ולא ארוך) עבור כל סקריפט עוזר בשימוש לעיל כללים קובץ.