Amazon Best VPN GoSearch

فاویکون OnWorks

guestfs-hacking - آنلاین در ابر

اجرای guestfs-hacking در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS

این دستور guestfs-hacking است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


guestfs-hacking - گسترش و کمک به libguestfs

شرح


این صفحه دستی برای هکرهایی است که می خواهند خود libguestfs را گسترش دهند.

بررسی اجمالی OF L' SOURCE CODE
منبع Libguestfs در مخزن github قرار دارد
https://github.com/libguestfs/libguestfs

مقادیر زیادی کد boilerplate در libguestfs (RPC، bindings، اسناد)
تولید شده است. این بدان معناست که بسیاری از فایل‌های منبع به نظر می‌رسد از a مفقود شده‌اند
پرداخت ساده git شما باید ژنراتور را اجرا کنید ("./autogen.sh && make -C
generator") به منظور ایجاد آن فایل ها.

Libguestfs از یک سیستم ساخت مبتنی بر ابزار خودکار استفاده می کند که فایل های اصلی آن هستند configure.ac
و Makefile.am. ژنراتور دایرکتوری فرعی شامل مولد، به علاوه فایل های توصیف کننده است
API در " زیر شاخه حاوی منبع برای کتابخانه است. در وسیله و روح پلید
زیر شاخه ها حاوی منبع کد سازنده دستگاه و کد هستند
که به ترتیب در دستگاه اجرا می شود. دایرکتوری های دیگر در بخش پوشش داده شده است
"زیر دایرکتوری های کد منبع" در زیر.

جدا از این واقعیت که تمام نقاط ورودی API از طریق برخی از کدهای تولید شده عبور می کنند، کتابخانه نیز چنین است
سرراست (در واقع، حتی کد تولید شده به گونه ای طراحی شده است که قابل خواندن باشد و باید
به عنوان کد معمولی خوانده شود). برخی از عملکردها به طور کامل در کتابخانه اجرا می شوند و به صورت C نوشته می شوند
توابع در فایل های زیر ". دیگران به دیمون فرستاده می شوند که در آن (بعد از مقداری
تولید شده RPC marshalling) آنها به عنوان توابع C در فایل های زیر ظاهر می شوند روح پلید.

برای ساخت از منبع، ابتدا فایل "README" را بخوانید.

محلی* فایل ها
فایل‌هایی در فهرست اصلی منبع که با پیشوند شروع می‌شوند محلی* توسط git نادیده گرفته می شوند.
این فایل‌ها می‌توانند شامل پیکربندی محلی یا اسکریپت‌هایی باشند که برای ساخت libguestfs به آن‌ها نیاز دارید.

طبق قرارداد، من یک فایل به نام دارم پیکربندی محلی که یک لفاف ساده دور آن است
autogen.sh شامل سفارشی سازی های پیکربندی محلی است که به آنها نیاز دارم:

. localenv
./autogen.sh \
--with-default-backend=libvirt \
--enable-gcc-warnings \
--enable-gtk-doc \
-C \
"$@"

بنابراین می توانم از این برای ساخت libguestfs استفاده کنم:

./localconfigure && make

اگر فایلی در دایرکتوری ساخت بالا وجود داشته باشد به نام localenv، سپس منبع آن توسط
"ساختن". این فایل می تواند شامل هر متغیر محیط محلی مورد نیاز باشد، به عنوان مثال. برای پرش
آزمون:

# از یک باینری جایگزین پایتون استفاده کنید.
صادرات PYTHON=python3
# از این تست بگذر، خراب است.
صادرات SKIP_TEST_BTRFS_FSCK=1

توجه داشته باشید که localenv توسط Makefile بالا گنجانده شده است (بنابراین یک قطعه Makefile است). اما اگر
آن نیز توسط شما تامین شده است پیکربندی محلی اسکریپت سپس آن را به عنوان یک پوسته اسکریپت استفاده می شود.

اضافه كردن A جدید API اقدامات
از آنجا که مقادیر زیادی کد boilerplate در libguestfs تولید می شود، این کار را آسان می کند
برای گسترش API libguestfs.

برای افزودن یک اقدام API جدید دو تغییر وجود دارد:

1. باید توضیحی در مورد تماس اضافه کنید (نام، پارامترها، نوع بازگشت، آزمایش‌ها،
مستندات) به generator/actions.ml.

بسته به اینکه آیا تماس به API انجام می شود، دو نوع عملکرد API وجود دارد
دیمون در دستگاه، یا به طور کامل توسط کتابخانه سرویس می شود (به «معماری» در
guestfs-internals(3)). "guestfs_sync" در مهمانان(3) نمونه ای از اولی است،
از آنجایی که همگام سازی در دستگاه انجام می شود. "guestfs_set_trace" در مهمانان(3) یک است
مثال دومی، از آنجایی که یک پرچم ردیابی در دسته و تمام ردیابی ها حفظ می شود
در سمت کتابخانه انجام می شود.

اکثر اقدامات جدید از نوع اول هستند و به لیست "daemon_functions" اضافه می شوند.
هر تابع دارای یک شماره رویه منحصربفرد است که در پروتکل RPC استفاده می شود که اختصاص داده شده است
زمانی که ما libguestfs را منتشر می کنیم و نمی توان از آنها استفاده مجدد کرد. جدیدترین ها را بگیرید
شماره رویه و افزایش آن

برای اقدامات فقط کتابخانه ای از نوع دوم، به لیست "non_daemon_functions" اضافه کنید.
از آنجایی که این توابع توسط کتابخانه سرویس می شوند و روی RPC حرکت نمی کنند
مکانیسم دیمون، این توابع نیازی به شماره رویه ندارند، و بنابراین
شماره رویه روی "-1" تنظیم شده است.

2. عمل (در C) را اجرا کنید:

برای اعمال دیمون، تابع "do_" را پیاده سازی کنید در دایرکتوری "daemon/".

برای اقدامات کتابخانه، تابع "guestfs_impl_" را پیاده سازی کنید در "src/"
دایرکتوری.

در هر صورت، از یک تابع دیگر به عنوان نمونه کارهایی که باید انجام دهید استفاده کنید.

پس از انجام این تغییرات، از "make" برای کامپایل استفاده کنید.

توجه داشته باشید که نیازی به پیاده سازی RPC، پیوندهای زبان، صفحات دستی یا هر چیز دیگری ندارید
دیگر همه به طور خودکار از توضیحات OCaml ایجاد می شود.

اضافه كردن تست برای AN API اقدامات
شما می توانید در هر تماس API صفر یا هر تعداد تستی که می خواهید ارائه دهید. تست ها می توانند هر دو باشند
به عنوان بخشی از توضیحات API اضافه شده است (generator/actions.ml) یا در برخی موارد نادر شما
ممکن است بخواهید یک اسکریپت را در "tests/*/" رها کنید. توجه داشته باشید که اضافه کردن یک اسکریپت به "tests/*/" است
کندتر، بنابراین در صورت امکان از روش اول استفاده کنید.

موارد زیر محیط آزمایشی را که هنگام افزودن یک تست API به آن استفاده می‌شود، توضیح می‌دهد actions.ml.

محیط تست دارای 4 دستگاه بلوک است:

/ dev / sda و 500MB
دستگاه بلوک عمومی برای آزمایش.

/ dev / sdb 500MB
/ dev / sdb1 یک فایل سیستم ext2 است که برای آزمایش عملیات نوشتن فایل سیستم استفاده می شود.

/ dev / sdc 10MB
در چند آزمایش که در آن دو دستگاه بلوک مورد نیاز است استفاده می شود.

/ dev / sdd
ISO با محتوای ثابت (نگاه کنید به images/test.iso).

برای اینکه بتوانید تست ها را در مدت زمان معقول اجرا کنید، دستگاه libguestfs و
دستگاه های بلوک بین آزمایش ها دوباره استفاده می شوند. بنابراین سعی نکنید "guestfs_kill_subprocess" را در آن آزمایش کنید
مهمانان(3) :-x

هر آزمون با یک سناریوی اولیه شروع می شود که با استفاده از یکی از عبارات "Init*" انتخاب شده است.
توصیف شده در generator/types.ml. این ها دیسک های ذکر شده در بالا را در الف مقداردهی اولیه می کنند
روش خاص همانطور که در انواع.ml. شما نباید چیزی در مورد آن فرض کنید
محتویات قبلی دیسک های دیگر که مقداردهی اولیه نشده اند.

شما می توانید یک بند پیش نیاز به هر آزمون فردی اضافه کنید. این یک بررسی زمان اجرا است،
که در صورت عدم موفقیت باعث حذف آزمون می شود. در صورت آزمایش دستوری مفید است که
ممکن است روی همه انواع بیلدهای libguestfs کار نکند. آزمونی که دارای پیش نیاز است
«همیشه» یعنی بدون قید و شرط دویدن.

علاوه بر این، بسته‌کننده‌ها می‌توانند با تنظیم متغیرهای محیطی از قبل، از آزمایش‌های فردی صرف‌نظر کنند
اجرای «مکان چک».

SKIP_TEST_ _ =1

به عنوان مثال: "SKIP_TEST_COMMAND_3=1" از تست شماره 3 "guestfs_command" در مهمانان(3).

و یا:

SKIP_TEST_ =1

به عنوان مثال: "SKIP_TEST_ZEROFREE=1" از تمام "guestfs_zerofree" در مهمانان(3) تست ها

بسته‌بندی‌کننده‌ها می‌توانند تنها آزمایش‌های خاصی را با تنظیم به عنوان مثال اجرا کنند:

TEST_ONLY="vfs_type zerofree"

دیدن tests/c-api/tests.c برای جزئیات بیشتر از نحوه عملکرد این متغیرهای محیطی.

اشکال زدایی جدید API اقدامات
کار اقدامات جدید را قبل از ارسال آزمایش کنید.

می توانید از guestfish برای آزمایش دستورات جدید استفاده کنید.

اشکال زدایی دیمون یک مشکل است زیرا در یک محیط حداقل اجرا می شود. با این حال
می‌توانید پیام‌های fprintf را در دیمون به stderr ارسال کنید و در صورت استفاده نشان داده می‌شوند
"میهمان ماهی -v".

اضافه كردن A جدید زبان الزام آور
تمام پیوندهای زبانی باید توسط مولد ایجاد شوند (به ژنراتور دایرکتوری فرعی).

هنوز هیچ سندی برای این موضوع وجود ندارد. ما به شما پیشنهاد می کنیم به یک اتصال موجود نگاه کنید، به عنوان مثال.
generator/ocaml.ml or generator/perl.ml.

اضافه كردن تست برای زبان اتصالات
صحافی زبان باید همراه با آزمون باشد. قبلا تست صحافی زبان بود
اما ما سعی کرده‌ایم مجموعه آزمون‌هایی را که هر زبانی انجام می‌دهند رسمی کنیم
الزام آور باید استفاده شود.

در حال حاضر فقط پیوندهای OCaml و Perl در واقع مجموعه کامل تست ها را اجرا می کنند و
اتصالات OCaml متعارف هستند، بنابراین باید از آنچه که تست‌های OCaml انجام می‌دهند تقلید کنید.

این طرح شماره گذاری مورد استفاده در آزمون ها است:

- بیش از 000 تست پایه:

010 کتابخانه را بارگیری کنید
020 ایجاد کنید
030 ایجاد-پرچم
040 چندین دسته ایجاد می کند
تنظیم تست 050 و دریافت ویژگی های پیکربندی
060 صراحتا بستن
بستن ضمنی 065 (در زبان‌های GC'd)
070 optargs

- 100 راه اندازی، ایجاد پارتیشن و LV و فایل سیستم

- بیش از 400 رویداد:

رویداد بسته 410
420 پیام ورود
430 پیام پیشرفت

- بیش از 800 تست رگرسیون (مخصوص زبان)

- بیش از 900 تست سفارشی دیگر برای زبان

برای صرفه جویی در زمان هنگام اجرای تست ها، فقط 100، 430، 800+، 900+ باید دسته را راه اندازی کنند.

قالب بندی CODE
کد منبع C ما به طور کلی به برخی از قراردادهای قالب‌بندی کد پایبند است. را
پایه کد موجود در این زمینه کاملاً سازگار نیست، اما ما آن را ترجیح می دهیم
کد ارائه شده به طور مشابه قالب بندی شود. به طور خلاصه، از spaces-not-tabs برای تورفتگی استفاده کنید،
از 2 فاصله برای هر سطح تورفتگی استفاده کنید و به غیر از آن، از سبک K&R پیروی کنید.

اگر از Emacs استفاده می کنید، موارد زیر را به یکی از فایل های راه اندازی خود اضافه کنید (به عنوان مثال، ~/.emacs),
برای اطمینان از اینکه تورفتگی را درست انجام می دهید:

;;; در libguestfs، تورفتگی با فاصله در همه جا (نه TAB).
;;; استثناها: حالت های Makefile و ChangeLog.
(add-hook 'find-file-hook
'(lambda () (if (و بافر-فایل-نام
(string-match "/libguestfs\\>"
(بافر-فایل-نام))
(نه (رشته برابر حالت - نام "تغییر گزارش"))
(نه (رشته برابر حالت - نام "Makefile")))
(Setq تورفتگی-tabs-حالت صفر))))

;;; هنگام ویرایش منابع C در libguestfs، از این سبک استفاده کنید.
(حالت libguestfs-c-defun ()
"حالت C با پیش فرض های تنظیم شده برای استفاده با libguestfs."
(در ارتباط بودن)
(«K&R» به سبک c-set)
(setq c-indent-level 2)
(setq c-basic-offset 2))
(add-hook 'c-mode-hook
'(lambda () (if (string-match "/libguestfs\\>"
(بافر-فایل-نام))
(libguestfs-c-mode))))

TESTING شما تغییرات
هشدارها را هنگام کامپایل فعال کنید (و هر مشکلی را که پیدا کرد برطرف کنید):

./configure --enable-gcc-warnings

اهداف مفید عبارتند از:

"بررسی کن"
مجموعه آزمایشی معمولی را اجرا می کند.

این با استفاده از هدف "TESTS" خودروسازی معمولی اجرا می شود. خودروسازی را ببینید
اسناد برای جزئیات

"ساخت چک والگریند"
زیرمجموعه ای از مجموعه آزمایشی را تحت valgrind اجرا می کند.

هر Makefile.am در درختی که دارای هدف "check-valgrind:" است توسط این اجرا می شود
قانون.

"میهمانان محلی را چک کنید"
زیرمجموعه ای از مجموعه آزمایشی را تحت valgrind با استفاده از مهمانان libvirt نصب شده محلی اجرا می کند
(فقط خواندنی).

"مستقیم چک کردن"
همه آزمایش‌ها را با استفاده از پیش‌فرض پشتیبان دستگاه اجرا می‌کند. این فقط در صورتی تأثیری دارد که غیر
باطن پیش فرض با استفاده از "./configure --with-default-backend=..." انتخاب شد.

"مستقیم بررسی والگریند"
زیرمجموعه‌ای از مجموعه آزمایشی را با استفاده از بک‌اند پیش‌فرض دستگاه تحت valgrind اجرا کنید.

"Check-uml"
تمام تست ها را با استفاده از حالت User-Mode Linux Backend اجرا می کند.

از آنجایی که هیچ مکان استانداردی برای هسته لینوکس حالت کاربر وجود ندارد، شما داشته باشد به مجموعه
"LIBGUESTFS_HV" برای اشاره به تصویر هسته، به عنوان مثال:

بررسی کنید LIBGUESTFS_HV=~/d/linux-um/vmlinux

"make check-valgrind-uml"
همه آزمایش‌ها را با استفاده از User-Mode Linux Backend تحت valgrind اجرا می‌کند.

همانطور که در بالا ذکر شد، باید "LIBGUESTFS_HV" را برای اشاره به هسته تنظیم کنید.

"بررسی با بالادست-qemu"
تمام تست ها را با استفاده از یک باینری qemu محلی اجرا می کند. به دنبال باینری qemu در QEMUDIR می گردد
(پیش فرض به $HOME/d/qemu) ، اما می توانید این را در یک دایرکتوری دیگر در دستور تنظیم کنید
خط، به عنوان مثال:

با-upstream-qemu بررسی کنید QEMUDIR=/usr/src/qemu

"با بالادست-libvirt بررسی کنید"
تمام تست ها را با استفاده از libvirt محلی اجرا می کند. این تنها در صورتی تأثیری دارد که باطن libvirt باشد
با استفاده از "./configure --with-default-backend=libvirt" انتخاب شد

به دنبال libvirt در LIBVIRTDIR می گردد (پیش فرض به $HOME/d/libvirt) اما می توانید این را تنظیم کنید
به دایرکتوری دیگری در خط فرمان، به عنوان مثال:

با-upstream-libvirt بررسی کنید LIBVIRTDIR=/usr/src/libvirt

"آهسته بررسی کن"
برخی از تست های آهسته/طولانی را اجرا می کند که به طور پیش فرض اجرا نمی شوند.

هر Makefile.am در درختی که دارای هدف "check-slow:" است با این قانون اجرا می شود.

"همه را چک کن"
معادل اجرای همه قوانین "مکان چک*".

"رها کردن چک"
زیرمجموعه‌ای از قوانین «مکان چک*» را اجرا می‌کند که باید قبل از اجرا شدن یک تاربال تصویب شوند
منتشر شد. در حال حاضر این است:

· بررسی

· چک والگریند

· چک مستقیم

· چک-والگریند-مستقیم

· بررسی کند

"بررسی نصب"
"make check" را روی کپی نصب شده libguestfs اجرا کنید.

نسخه libguestfs نصب شده در حال آزمایش و نسخه libguestfs
درخت منبع باید یکسان باشد.

را انجام دهید:

./autogen.sh
تمیز کردن ||:
ساخت
نصب را چک کنید

اهریمن، دیو سفارشی PRINTF فرمت کننده ها
در کد daemon ما قالب‌کننده‌های printf سفارشی %Q و %R را ایجاد کرده‌ایم که به آن‌ها استفاده می‌شود
نقل قول پوسته را انجام دهید

%Q رشته به نقل از پوسته ساده. هر فضا یا دیگر شخصیت های پوسته برای شما فرار می کنند.

%R همان %Q است به جز اینکه رشته به عنوان مسیری که توسط sysroot پیشوند شده است در نظر گرفته می شود.

مثلا:

asprintf (&cmd، "cat %R"، مسیر)؛

"cat /sysroot/some\ path\ with\ spaces" را تولید می کند.

توجه داشته باشید: Do نه هنگام ارسال پارامترها به "command{,r,v,rv}()" از اینها استفاده کنید.
کارکرد. این پارامترها نیازی به نقل قول ندارند زیرا از طریق آن ارسال نمی شوند
پوسته (در عوض، مستقیماً به exec). احتمالاً می خواهید از تابع "sysroot_path()" استفاده کنید
با این حال.

در حال ارسال شما جدید API اقدامات
ارسال وصله ها به لیست پستی: http://www.redhat.com/mailman/listinfo/libguestfs و
CC به [ایمیل محافظت شده].

بین المللی شدن (I18N) پشتیبانی
ما از i18n (به هر حال gettext) در کتابخانه پشتیبانی می کنیم.

با این حال پیام‌های زیادی از دیمون می‌آید، و ما در حال حاضر آن‌ها را ترجمه نمی‌کنیم.
یک دلیل این است که دستگاه معمولاً همه فایل های محلی را از آن حذف می کند، زیرا
آنها فضای زیادی را اشغال می کنند. بنابراین ما باید برخی از آنها را بخوانیم، و همچنین ما را کپی کنیم
فایل های PO در دستگاه.

پیام های اشکال زدایی هرگز ترجمه نمی شوند، زیرا برای برنامه نویسان در نظر گرفته شده اند.

SOURCE CODE دایرکتوری های فرعی
تراز
virt-alignment-scan(1) فرمان و مستندات.

وسیله
ابزار libguestfs، ساخت اسکریپت و غیره.

بر هم زدن
اسکریپت های تکمیل برگه Bash.

build-aux
اسکریپت های مختلف ساخت که توسط ابزارهای خودکار استفاده می شود.

سازنده
فضیلت ساز(1) فرمان و مستندات.

گربه La virt-cat(1) سیستم های فایل virt(1) virt-log(1) و virt-ls(1) دستورات و
مستندات.

مشارکت
مشارکت های خارجی، بخش های تجربی.

سفارشی
فضیلت سفارشی کردن(1) فرمان و مستندات.

روح پلید
دیمونی که در داخل دستگاه libguestfs اجرا می شود و اقداماتی را انجام می دهد.

df virt-df(1) فرمان و مستندات.

فرورفتن virt-dib(1) فرمان و مستندات.

تفاوت
virt-diff(1) فرمان و مستندات.

توضیحات صفحات دستی متفرقه

ویرایش کنید
virt-edit(1) فرمان و مستندات.

مثال ها
کد نمونه C API.

ماهی
ماهی مهمان(1)، پوسته خط فرمان، و اسکریپت های مختلف پوسته ساخته شده در بالا مانند
virt-copy-in(1) دارای مجتب(1) virt-tar-in(1) فضیلت تار کردن(1).

قالب
فرمت virt(1) فرمان و مستندات.

فیوز
میهمان میهمان(1)، FUSE (سیستم فایل فضای کاربر) ساخته شده در بالای libguestfs.

ژنراتور
ژنراتور بسیار مهم که برای تولید خودکار مقادیر زیادی از
کد C boilerplate برای چیزهایی مانند RPC و اتصالات.

دریافت هسته
virt-get-kernel(1) فرمان و مستندات.

gnulib
Gnulib به عنوان یک کتابخانه قابل حمل استفاده می شود. یک کپی از gnulib در اینجا گنجانده شده است.

بازرس
فضیلت بازرس(1)، بازرس تصویر ماشین مجازی.

آرم
لوگوی استفاده شده در وب سایت به هر حال ماهی را آرتور می نامند.

m4 ماکروهای M4 که توسط autoconf استفاده می شوند.

می سازند
virt-make-fs(1) فرمان و مستندات.

mllib
کتابخانه های مختلف و کدهای رایج مورد استفاده توسط virt-Resize(1) و ابزارهای دیگری که هستند
نوشته شده در OCaml

p2v virt-p2v(1) دستور، اسناد و اسکریپت برای ساختن ISO یا دیسک virt-p2v
تصویر

po ترجمه رشته های دریافت متن ساده.

po-docs
زیرساخت ساخت و فایل های PO برای ترجمه manpages و فایل های POD.
در نهایت این با ترکیب خواهد شد po دایرکتوری، اما این است
بغرنج.

نجات
فضیلت نجات(1) فرمان و مستندات.

تغییر اندازه
virt-Resize(1) فرمان و مستندات.

پراکنده کردن
پراکنده کردن(1) فرمان و مستندات.

" کد منبع به کتابخانه C.

sysprep
virt-sysprep(1) فرمان و مستندات.

تست
تست ها

داده های آزمایشی
فایل‌ها و سایر داده‌های آزمایشی مورد استفاده در آزمون‌ها.

ابزار تست
ابزار تست برای کاربران نهایی تا آزمایش کنند که آیا ترکیب qemu/kernel آنها کار می کند یا خیر
libguestfs.

TMP برای فایل های موقت هنگام اجرای آزمایش ها (به جای دایرکتوری / tmp و غیره). دلیلش این هست که
به طوری که می توانید چندین تست موازی libguestfs را بدون داشتن یک مجموعه اجرا کنید
تست بازنویسی دستگاه ایجاد شده توسط دیگری.

ابزار
ابزارهای خط فرمان نوشته شده در پرل (virt-win-reg(1) و بسیاری دیگر).

v2v virt-v2v(1) فرمان و مستندات.

سایت اینترنتی
La http://libguestfs.org فایل های وب سایت

csharp
لغت
گوبژه
گولنگ
هاسکل
جاوه
ماه
اوکامل
پی اچ پی
پرل
پایتون
یاقوت
پیوندهای زبانی

ساخت A پایدار رهایی
هنگامی که یک نسخه پایدار ایجاد می کنیم، چندین مرحله در اینجا مستند شده است. به "LIBGUESTFS" مراجعه کنید
VERSION NUMBERS" در مهمانان(3) برای اطلاعات کلی در مورد خط مشی شعبه پایدار.

· علامت بزنید "make && make check" حداقل روی فدورا، دبیان و اوبونتو کار می کند.

· علامت "./configure --without-libvirt" works.

· نهایی کردن guestfs-release-notes.pod

· فشار و کشیدن از Zanata.

اجرا کن:

زناتا فشار

برای ارسال آخرین فایل های POT به Zanata. سپس اجرا کنید:

./zanata-pull.sh

که یک لفاف برای کشیدن آخرین ترجمه شده است *.po فایل های.

· به روز رسانی gnulib به آخرین نسخه بالادستی را در نظر بگیرید.

· ایجاد دایرکتوری های پایدار و توسعه جدید در زیر http://libguestfs.org/download.

· ویرایش website/index.html.in.

· تنظیم نسخه (در configure.ac) به جدید پایدار نسخه، یعنی 1.XX.0 و commit کنید
آن:

./localconfigure
make distclean -k
./localconfigure
ایجاد && ایجاد فاصله
نگهدارنده را متعهد کند
تگ نگهدارنده

· ایجاد شاخه پایدار در git:

git branch stable-1.XX
git push origin stable-1.XX

· رهاسازی کامل شاخه پایدار را انجام دهید.

· نسخه را روی نسخه توسعه بعدی تنظیم کنید و آن را انجام دهید. به صورت اختیاری کامل انجام دهید
انتشار شاخه توسعه

با استفاده از سرویس‌های onworks.net از هک کردن guestfs به صورت آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

دستورات لینوکس

Ad




×
تبلیغات
❤️اینجا خرید کنید، رزرو کنید یا بخرید - رایگان است، به رایگان ماندن خدمات کمک می‌کند.