pump(1) General Commands Manual pump(1)

pump - شتاب‌بخشی به کامپایل از راه دور با distcc

pump BUILD-COMMAND [ARGS] ...

eval ` pump --startup `; BUILD-COMMAND [ARGS] ... ; pump --shutdown

دستور pump بخشی از distcc است. این دستور برای حالت pump در distcc استفاده می‌شود. حالت pump در distcc با توزیع پیش‌پردازش به سرورها، به کامپایل از راه دور با distcc شتاب می‌بخشد.

برای توضیحات دقیق درباره حالت pump، به‌ویژه برخی محدودیت‌های مهم، صفحه راهنمای distcc(1) را ببینید، به ویژه بخش HOW PUMP-MODE WORKS و بخش RESTRICTIONS ON PUMP MODE.

ساده‌ترین روش استفاده به صورت زیر است:

pump COMMAND [ARG] ...
این کار یک include server برای حالت «pump» در distcc راه‌اندازی می‌کند؛ در صورت نیاز lsdistcc را برای محاسبه فهرست میزبان‌های distcc اجرا می‌کند؛ برخی متغیرهای محیطی کمکی را تنظیم می‌کند؛ متغیر PATH را تغییر می‌دهد تا از کلاینت distcc در همان دایرکتوری اسکریپت «pump» استفاده کند؛ دستور COMMAND را با ARG(s) مشخص‌شده اجرا می‌کند؛ و سپس include server را خاموش می‌کند. دستور COMMAND معمولاً یک دستور ساخت موازی مانند «make -j80» است که فراخوانی‌های هم‌روند بسیاری از distcc را انجام خواهد داد.

یک روش جایگزین برای اجرای pump فراخوانی صریح «pump --startup» برای راه‌اندازی include server و «pump --shutdown» برای متوقف کردن include server است. دستور «pump --startup» سرور include server را راه‌اندازی کرده و تنظیمات چند متغیر محیطی را در خروجی چاپ می‌کند. این متغیرهای محیطی برای برقراری ارتباط بین کلاینت حالت pump در «distcc» و include server، و همچنین برای ارتباط میان «pump --startup» و «pump --shutdown» استفاده می‌شوند. فراخوانندهٔ «pump --startup» مسئول تنظیم این متغیرهای محیطی پیش از اجرای «distcc» یا «pump --shutdown» است.

برای مثال:

eval `pump --startup`
make -j80
pump --shutdown

توجه داشته باشید که حالت pump در distcc فرض می‌کند که فایل‌های منبع در طول چرخه حیات include server تغییر نخواهند کرد؛ بنابراین تغییر فایل‌های منبع در حین ساخت ممکن است منجر به نتایج متناقض شود.

هنگامی که به شکل سادهٔ « pump COMMAND [ARG] ... » یا به صورت « pump --startup » فراخوانی شود، اسکریپت pump هر زمان که DISTCC_POTENTIAL_HOSTS تنظیم شده باشد و DISTCC_HOSTS تنظیم نشده باشد، lsdistcc را فراخوانی خواهد کرد. این اسکریپت مقدار DISTCC_POTENTIAL_HOSTS را به lsdistcc ارسال کرده و از خروجی lsdistcc برای تنظیم DISTCC_HOSTS استفاده می‌کند.

دستورالعمل‌های خلاصه را نمایش می‌دهد.
یک include server را راه‌اندازی کرده و تنظیمات متغیرهای محیطی مورد نیاز برای دسترسی distcc(1) یا pump --shutdown به آن را در خروجی چاپ می‌کند.
یک include server را که با pump --startup راه‌اندازی شده است خاموش می‌کند.

متغیرهای محیطی زیر همگی اختیاری هستند.

مکان دایرکتوری bin در distcc، که به‌طور معمول از دایرکتوری پیوند-حل‌شدهٔ argv[0] استنباط می‌شود. اگر این مکان در واقع دایرکتوری bin داخل یک مسیر نصب باشد (همان‌طور که هنگام اجرای اسکریپت pump در محل نصب رخ می‌دهد)، فایل‌های اجرایی Python و خود distcc از دایرکتوری والد این مکان بازیابی خواهند شد.
صفحه راهنمای distcc(1) را ببینید.
سرورهای distcc که برای تولید مقداری برای DISTCC_HOSTS توسط lsdistcc پرس‌وجو می‌شوند. این مقدار می‌تواند تنظیم‌نشده یا خالی (null) باشد. در چنین مواردی، lsdistcc فراخوانی نخواهد شد و distcc از DISTCC_HOSTS یا فایل پیکربندی میزبان‌های distcc استفاده خواهد کرد، همان‌طور که در بخش «Host Specifications» از distcc(1) توضیح داده شده است.
این متغیر به distcc منتقل می‌شود اما تنها در صورتی که DISTCC_POTENTIAL_HOSTS تنظیم نشده باشد.
آرگومان‌های اضافی برای ارسال به lsdistcc. برای جزئیات بیشتر به lsdistcc --help مراجعه کنید.
آرگومان‌های اضافی برای ارسال به include server.
اگر روی "" تنظیم شود، بهینه‌سازی پایتون غیرفعال می‌شود.

pump make -j20

اگر فکر می‌کنید باگی در distcc پیدا کرده‌اید، لطفاً برای اطلاعات در مورد نحوه گزارش آن، فایل reporting-bugs.txt را در دایرکتوری مستندات ببینید.

اسکریپت pump و حالت pump در distcc توسط Nils Klarlund، Manos Renieris، Fergus Henderson، و Craig Silverstein نوشته شده‌اند. لطفاً باگ‌ها را به <distcc@lists.samba.org> گزارش دهید.

pump بخشی از distcc است. شما مجاز به استفاده از distcc هستید. distcc (شامل این راهنما) تنها تحت شرایط مجوز عمومی همگانی گنو (GNU GPL) نسخه ۲ یا بالاتر می‌تواند کپی، اصلاح یا توزیع شود. distcc بدون هیچ‌گونه ضمانتی ارائه می‌شود. نسخه‌ای از GPL در فایل COPYING گنجانده شده است.

distcc(1)، distccd(1)، include_server(1)، gcc(1)، و make(1)

9 June 2008