cowpoke - מקוון בענן

זוהי הפקודה cowpoke שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


cowpoke - בנה חבילת מקור של דביאן במופע מרוחק של cowbuilder

תַקצִיר


שקית פרה [אפשרויות] שם חבילה.dsc

תיאור


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

אפשרויות


האפשרויות הבאות זמינות:

--arch=ארכיטקטורה
ציין את ארכיטקטורות דביאן לבנייתן. רשימה מופרדת ברווחים של
ניתן להשתמש בארכיטקטורות כדי לבנות עבור כולן במעבר אחד. קשת תקפה
השמות הם אלה שמוחזרים על ידי ארכיטקטורת dpkg(1) עבור DEB_BUILD_ARCH.

--dist=הפצה
ציין את ההפצות של דביאן לבנות עבורן. רשימה מופרדת ברווחים של
ניתן להשתמש בהפצות כדי לבנות עבור כולן במעבר אחד. אוֹ
שמות קוד (כגון סיד, או לסחוט) או שמות תפוצה (כגון לא יציב, או
ניסיוני) ניתן להשתמש, אך בדרך כלל יש להקפיד על שימוש זה או אחר
באופן עקבי מכיוון שניתן להשתמש בשם זה בנתיבי קבצים וכדי לאתר חבילות ישנות עבור
דיווח השוואה.

כעת ניתן גם להשתמש בשמות המוגדרים מקומית עם אפשרות זו, כאשר משתמשים ב
בשילוב עם ה BASE_DIST אפשרות בקובץ תצורה. זה מתיר את
תחזוקה ושימוש ב-build chroots שהוגדרו במיוחד, שיכולים לחבילת מקור
תלות מארכיון ה-backports או מאגר מקומי, או שיש להם אחרים
אפשרויות תצורה יוצאות דופן מוגדרות, מבלי לזהם את ה-chroots שבהם אתה משתמש לניקוי
בניית חבילה המיועדת להעלאה למאגרים הראשיים. ראה את התיאור
of BASE_DIST לְהַלָן.

--buildd=המארח
ציין את המארח המרוחק שיש לבנות עליו.

--buildd-user=שם
ציין את המשתמש המרוחק שיש לבנות בתור.

--לִיצוֹר
צור את השלט בונה פרות root אם הוא לא קיים כבר. אם אפשרות זו היא
לא עבר זאת שגיאה עבור המצוין --dist or --קֶשֶׁת שלא יהיה
קיימים בונה פרות שורש במיקום הצפוי.

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

--return=[נתיב]
העתק את תוצאות הבנייה אל נתיב. אם נתיב לא צוין, ואז החזר אותם ל
הספרייה הנוכחית. הנתון נתיב חייב להתקיים, הוא לא יווצר.

--אין דרך חזרה
אל תעתיק את תוצאות הבנייה אל RETURN_DIR (עוקף נתיב שהוגדר עבורו ב-
קבצי תצורה).

--dpkg-opts='אופט1 opt2 ... '
ציין אפשרויות נוספות שיש להעביר אליהן dpkg-buildpackage(1). אפשרויות מרובות
מתוחמים ברווחים. זה יעקוף את כל האפשרויות שצוינו ב
DEBBUILDOPTS במארח הבנייה pbuilderrc.

--create-opts='בונה פרות אוֹפְּצִיָה'
ציין ארגומנטים נוספים שיועברו מילה במילה בונה פרות כאשר chroot הוא
נוצר לראשונה (באמצעות --לִיצוֹר אפשרות למעלה). אם צריך טיעונים מרובים
עבר, יש לציין אפשרות זו בנפרד עבור כל אחד מהם.

למשל --create-opts "--מראה אחרת" --create-opts "דב http:// ... "

אפשרות זו תעקוף כל CREATE_OPTS שצוין עבור chroot ב-cowpoke
קבצי תצורה.

--update-opts='בונה פרות אוֹפְּצִיָה'
ציין ארגומנטים נוספים שיועברו מילה במילה בונה פרות אם הבסיס של
chroot מעודכן. אם צריך להעביר ארגומנטים מרובים, אפשרות זו צריכה להיות
מצוין בנפרד עבור כל אחד מהם.

אפשרות זו תעקוף כל UPDATE_OPTS שצוין עבור chroot ב-cowpoke
קבצי תצורה.

--build-opts='בונה פרות אוֹפְּצִיָה'
ציין ארגומנטים נוספים שיועברו מילה במילה בונה פרות כאשר חבילה
בנייה מתבצעת. אם צריך להעביר ארגומנטים מרובים, אפשרות זו צריכה להיות
מצוין בנפרד עבור כל אחד מהם.

אפשרות זו תעקוף כל BUILD_OPTS שצוין עבור chroot ב-cowpoke
קבצי תצורה.

--סימן=keyid
ציין את המפתח איתו יש לחתום על חבילות. זה יעקוף כל SIGN_KEYID מפורט
עבור chroot בקבצי התצורה של cowpoke.

--העלה=תור
ציין את תור ה-dput שאליו יש להעלות חבילות חתומות. זה יעקוף כל
UPLOAD_QUEUE שצוין עבור chroot בקבצי התצורה של cowpoke.

- עזרה הצג סיכום קצר של האפשרויות הזמינות והתצורה הנוכחית.

--גִרְסָה
הצג את מידע הגרסה הנוכחית.

תְצוּרָה אפשרויות


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

גלוֹבָּלִי מחדל
אלה חלים על כל קשת ו Dist בקריאת פרה אחת.

BUILDD_HOST
כתובת הרשת או ה-fqdn של מכונת הבנייה שבה בונה פרות מוגדר.
זה עשוי להיות עוקף על ידי --בנה אפשרות שורת הפקודה.

BUILDD_USER
שם המשתמש ללא הרשאות עבור פעולות על מכונת הבנייה. זה כברירת מחדל ל
השם המקומי של המשתמש שמבצע שקית פרה (או לשם משתמש שצוין ב
תצורת ה-SSH שלך עבור BUILDD_HOST), ועשוי להיות עוקף על ידי ה --buildd-user
אפשרות שורת הפקודה.

BUILDD_ARCH
הארכיטקטורות של דביאן שצריך לבנות עבורן. זה חייב להתאים ל DEB_BUILD_ARCH של
לבנות chroot בשימוש. זה כברירת מחדל לארכיטקטורת המחשב המקומי שבו
שקית פרה מבוצע, ועשוי לעקוף אותו --קֶשֶׁת אפשרות שורת הפקודה. א
(מצוטט) רשימה מופרדת של ארכיטקטורות עשויה לשמש כאן כדי לבנות עבור כל
אותם במעבר אחד.

BUILDD_DIST
ההפצות של דביאן לבנות עבורן. רשימה (מצוטטת) מופרדת ברווח של
ניתן להשתמש בהפצות כדי לבנות עבור כולן במעבר אחד. זה יכול להיות
נדחק על ידי ה --dist אפשרות שורת הפקודה.

INCOMING_DIR
נתיב הספרייה במחשב הבנייה שבו חבילת המקור תהיה בתחילה
מוּצָב. זה חייב להיות ניתן לכתיבה על ידי BUILDD_USER.

PBUILDER_BASE
שורש מערכת הקבצים עבור כל קבצי ה-pbuilder CoW וקבצי התוצאות. קשת ו Dist ספציפי
בדרך כלל ייווצרו ספריות משנה תחת זה. המטמון המתאים וזמני
גם ספריית build תמוקם מתחת לנתיב זה.

SIGN_KEYID
אם אפשרות זו מוגדרת, היא צפויה להכיל את מזהה מפתח gpg שאליו יש לעבור
עיצוב(1) אם יש לחתום על החבילות מרחוק. תתבקש לעשות זאת
אשר אם ברצונך לחתום על החבילות לאחר השלמת כל הבנייה. אם
אפשרות זו לא מוגדרת או מחרוזת ריקה, לא ייעשה ניסיון לחתום על חבילות.
זה עשוי להיות מוחלף על an קשת ו Dist בסיס ספציפי באמצעות ה
arch_dist_SIGN_KEYID אפשרות המתוארת להלן, או לכל פנייה עם ה --סִימָן
אפשרות שורת הפקודה.

UPLOAD_QUEUE
אם אפשרות זו מוגדרת, היא צפויה להכיל מפרט 'מארח' עבור dput(1)
שישמשו להעלאתם לאחר החתימה. תתבקש לעשות זאת
אשר אם ברצונך להעלות את החבילות לאחר החתימה. אם זה
האפשרות לא מוגדרת או מחרוזת ריקה, לא יתבצע ניסיון להעלות חבילות. אם
SIGN_KEYID לא מוגדר, אפשרות זו תתעלם לחלוטין. זה עשוי להיות מוחלף
על קשת ו Dist בסיס ספציפי באמצעות ה arch_dist_UPLOAD_QUEUE אוֹפְּצִיָה
המתואר להלן, או לפי הזמנה עם ה --העלה אפשרות שורת הפקודה.

BUILDD_ROOTCMD
הפקודה שבה יש להשתמש כדי להשיג הרשאות שורש במחשב הבנייה המרוחק. אם לא מוגדר
ברירת המחדל היא sudo(8). זה נדרש רק כדי להפעיל בונה פרות ולאפשר לזה
הזן את ה-chroot שלו, כך שאתה יכול להגביל את המשתמש הזה ליכולת להפעיל רק את זה
פקודה עם הרשאות מוגברות. משהו כזה ב-sudoers יאפשר
מזמין בונה פרות ללא צורך בהזנת סיסמה נוספת:

youruser ALL = NOPASSWD: /usr/sbin/cowbuilder

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

DEBOOTSTRAP
כלי השירות לשימוש בעת יצירת שורש בנייה חדש. אלטרנטיבות הן את רצועת האתחול or
cdebootstrap.

RETURN_DIR
אם מוגדר, קובצי חבילה הנובעים מהבנייה יועתקו לנתיב (מקומי או
שלט) שההגדרה הזו מוגדרת אליו, לאחר השלמת הבנייה. הדרך חייבת להתקיים, זה
לא ייווצר. אפשרות זו אינה מוגדרת כברירת מחדל וניתן לעקוף אותה
--לַחֲזוֹר or --אין דרך חזרה.

קשת ו Dist ספציפי אפשרויות
אלו הם משתנים מהצורה: $arch_$dist_VAR אשר חלים רק על יעד מסוים
מבנה קשת/רחוק.

arch_dist_RESULT_DIR
נתיב הספרייה במחשב הבנייה שבו החבילות שהתקבלו (מקור ו
בינארי) יימצא, והיכן נבנו גרסאות ישנות יותר של החבילה
ניתן למצוא בעבר. אם קיימות חבילות ישנות כאלה, debdiff יהיה רגיל ל
השווה את החבילה החדשה לגרסה הקודמת לאחר השלמת הבנייה, ו
התוצאה תיכלל ביומן הבנייה. הקבצים בו חייבים להיות קריאים על ידי ה
BUILDD_USER לבדיקת שפיות עם lintian(1) ו debdiff(1), ולהעלאה עם
dput(1). אם אפשרות זו לא צוינה עבור שילוב קשת ודיסט כלשהו, ​​אז
זה יקבע כברירת מחדל $PBUILDER_BASE/$arch/$dist/result

arch_dist_BASE_PATH
הספרייה שבה נמצאים קבצי המאסטר של CoW (או נוצרו אם
--לִיצוֹר אפשרות שורת הפקודה הועברה). אם אפשרות זו לא צוינה עבור חלק
arch או dist אז זה יהיה ברירת המחדל $PBUILDER_BASE/$arch/$dist/base.cow

arch_dist_BASE_DIST
שם הקוד שיעבור בתור --הפצה אפשרות לבונה פרה במקום Dist.
זה הכרחי מתי Dist הוא שם בעל משמעות מקומית שהוקצה לחלקם
chroot build שהוגדר במיוחד, כגון 'wheezy_backports', ולא הפורמלי
שם חבילה של מהדורת הפצה המוכרת ל-debootstrap. אפשרות זו לא יכולה להיות
נדחק בשורת הפקודה, מכיוון שלעתים נדירות, אם בכלל, יהיה הגיוני
לשנות את זה עבור קריאות בודדות של שקית פרה. אם אפשרות זו לא צוינה
עבור שילוב קשת ודיסט, הוא יקבע כברירת מחדל Dist.

arch_dist_CREATE_OPTS
מערך bash המכיל אפשרויות נוספות להעביר מילה במילה בונה פרות כשזה
chroot נוצר בפעם הראשונה (באמצעות --לִיצוֹר אוֹפְּצִיָה). זה שימושי
כאשר אפשרויות כמו --מראה אחרת רוצים ליצור chroot מיוחד
תצורות כגון 'wheezy_backports'. כברירת מחדל, זה לא מוגדר. כל הערכים
שהוגדר בו יעקוף אם --create-opts האפשרות מועברת על הפקודה
קו.

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

מערכי Bash מאותחלים באמצעות הטופס הבא:

OPTS=( "arg1" "arg 2" "--option" "value" "--opt=val" "וכו' וכו'")

arch_dist_UPDATE_OPTS
מערך bash המכיל אפשרויות נוספות להעביר מילה במילה בונה פרות בכל פעם
הבסיס של chroot זה מעודכן. הוא מתנהג באופן דומה ל- CREATE_OPTS אוֹפְּצִיָה
לעיל, למעט משחק כאשר ה-chroot מתעדכן.

arch_dist_BUILD_OPTS
מערך bash המכיל אפשרויות נוספות להעביר מילה במילה בונה פרות בכל פעם
בניית חבילה מבוצעת ב-chroot זה. זה שימושי כאשר אתה רוצה להשתמש
אפשרות כלשהי כמו --פעמיים שקופק פרה לא צריך לדאוג לו ישירות. זה
אחרת מתנהג בדומה ל UPDATE_OPTS לעיל פרט לכך שהוא פועל במהלך
שלב הבנייה של בונה פרות.

arch_dist_SIGN_KEYID
עקיפה אופציונלית של קשת ודיסט עבור הגלובלי SIGN_KEYID אוֹפְּצִיָה.

arch_dist_UPLOAD_QUEUE
עקיפה אופציונלית של קשת ודיסט עבור הגלובלי UPLOAD_QUEUE אוֹפְּצִיָה.

תְצוּרָה קבצים


/etc/cowpoke.conf
אפשרויות תצורה גלובליות. יעקוף ברירות מחדל מקודדות.

~/.cowpoke
אפשרויות תצורה לכל משתמש. יעקוף כל תצורה גלובלית.

.cowpoke
אפשרויות תצורה לפי פרויקט. יעקוף כל משתמש או גלובלי
תצורה אם שקית פרה נקרא מהספרייה שבה הם קיימים.

אם משתנה הסביבה COWPOKE_CONF מוגדר, הוא מציין תוספת נוספת
קובץ תצורה שיעקוף את כל אלה שלמעלה. אפשרויות שצוינו
מפורשות בשורת הפקודה לעקוף את כל קבצי התצורה.

בונה פרות תְצוּרָה


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

למכונת הבנייה צריכה להיות lintian ו כתבי יד חבילות מותקנות לפוסט בנייה
בדיקת שפיות. בסיום, יומן הבנייה ותוצאות הבדיקות האוטומטיות יעשו זאת
להיות מוקלט ב INCOMING_DIR. אם ברצונך להעלות חבילות חתומות, מכונת הבנייה
יצטרך גם dput(1) מותקן ומוגדר לשימוש ב-'המארח' כינוי שצוין על ידי
UPLOAD_QUEUE. אם rsync(1) זמין גם במכונה המקומית וגם ב-build, אז זה יהיה
לשמש להעברת חבילת המקור (זה עשוי לחסוך בהעברות מסוימות של orig.tar.*
בעת בניית גרסאות דביאן עוקבות).

המשתמש מבצע שקית פרה חייבת להיות גישת SSH למחשב הבנייה בתור BUILDD_USER.
משתמש זה חייב להיות מסוגל להפעיל בונה פרות כשורש באמצעות ה- BUILDD_ROOTCMD. הַחתָמָה
אין צורך להתקין מפתחות במחשב ה-build (והם יתעלמו שם אם
הם). אם החבילה חתומה, יצפו מפתחות במכונה שמבצעת
שקית פרה.

מתי שקית פרה מופעל, הוא ינסה תחילה לעדכן את בונה פרות תמונה אם יש
לא נעשה כבר באותו היום. זה נבדק על ידי נוכחות או היעדרו של א
cowbuilder-$arch-$dist-update-log-$date הקובץ INCOMING_DIR. אתה יכול להזיז, להסיר,
או גע בקובץ זה אם ברצונך שהתמונה תתעדכן בתדירות גבוהה יותר או פחות מכך. שֶׁלָה
תוכן יומן את הפלט של בונה פרות במהלך העדכון (או היצירה) של שורש ה-build.

אורים


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

השתמש ב-cowpoke באינטרנט באמצעות שירותי onworks.net



התוכניות המקוונות האחרונות של לינוקס ו-Windows