FLATPAK BUILD(1) flatpak build FLATPAK BUILD(1) نام (NAME) flatpak-build - اجرای دستور ساخت در یک دایرکتوری خلاصه دستور (SYNOPSIS) flatpak build [OPTION...] DIRECTORY [COMMAND [ARG...]] توضیحات (DESCRIPTION) یک دستور ساخت (build) را درون یک دایرکتوری اجرا می‌کند. DIRECTORY باید از قبل با استفاده از flatpak build-init مقداردهی اولیه شده باشد. محیط توسعه نرم‌افزار (sdk) که در فایل metadata درون این پوشه مشخص شده است در مسیر /usr و زیرپوشه‌های files و var به‌ترتیب در مسیرهای /app و /var سوار (mount) می‌شوند. این مسیرها قابل نوشتن هستند و محتویات آن‌ها بین دستورات ساخت حفظ می‌شود تا امکان جمع‌آوری خروجی‌های ساخت در آنجا فراهم باشد. گزینه‌ها (OPTIONS) گزینه‌های زیر پشتیبانی می‌شوند: -h, --help نمایش گزینه‌های راهنما و خروج. -v, --verbose چاپ اطلاعات اشکال‌زدایی در طول پردازش دستور. --ostree-verbose چاپ اطلاعات اشکال‌زدایی OSTree در طول پردازش دستور. -r, --runtime استفاده از محیط زمان اجرای غیرتوسعه‌ای مشخص‌شده در فرادادهٔ برنامه به‌جای محیط زمان اجرای توسعه (devel). -p, --die-with-parent کشتن فرآیند ساخت و تمام فرزندان آن در هنگام خاتمه یافتن فرآیند اجراکننده. --bind-mount=DEST=SOURCE افزودن یک اتصال سفارشی (bind mount) در فضای نام ساخت. این گزینه می‌تواند چندین بار مشخص شود. --build-dir=PATH شروع فرآیند ساخت در این دایرکتوری (پیش‌فرض، دایرکتوری جاری است). --share=SUBSYSTEM اشتراک‌گذاری یک زیرسیستم با نشست میزبان. این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. SUBSYSTEM باید یکی از موارد زیر باشد: network، ipc. این گزینه می‌تواند چندین بار استفاده شود. --unshare=SUBSYSTEM عدم اشتراک‌گذاری یک زیرسیستم با نشست میزبان. این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. SUBSYSTEM باید یکی از موارد زیر باشد: network، ipc. این گزینه می‌تواند چندین بار استفاده شود. --socket=SOCKET در دسترس قرار دادن یک سوکت شناخته‌شده برای برنامه. این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. SOCKET باید یکی از موارد زیر باشد: x11، wayland، fallback-x11، pulseaudio، system-bus، session-bus، ssh-auth، pcsc، cups، gpg-agent، inherit-wayland-socket. این گزینه می‌تواند چندین بار استفاده شود. --nosocket=SOCKET عدم دسترسی برنامه به یک سوکت شناخته‌شده. این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. SOCKET باید یکی از موارد زیر باشد: x11، wayland، fallback-x11، pulseaudio، system-bus، session-bus، ssh-auth، pcsc، cups، gpg-agent، inherit-wayland-socket. این گزینه می‌تواند چندین بار استفاده شود. --device=DEVICE در دسترس قرار دادن یک دستگاه برای برنامه. این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. DEVICE باید یکی از موارد زیر باشد: dri، input، usb، kvm، shm، all. این گزینه می‌تواند چندین بار استفاده شود. --nodevice=DEVICE عدم دسترسی برنامه به یک دستگاه. این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. DEVICE باید یکی از موارد زیر باشد: dri، input، usb، kvm، shm، all. این گزینه می‌تواند چندین بار استفاده شود. --allow=FEATURE اجازهٔ دسترسی به یک ویژگی خاص. این گزینه گروه [Context] را در فراداده به‌روزرسانی می‌کند. FEATURE باید یکی از موارد زیر باشد: devel، multiarch، bluetooth، canbus، per-app-dev-shm. این گزینه می‌تواند چندین بار استفاده شود. برای آشنایی با معانی ویژگی‌های گوناگون، flatpak-build-finish(1) را ببینید. --disallow=FEATURE عدم اجازهٔ دسترسی به یک ویژگی خاص. این گزینه گروه [Context] را در فراداده به‌روزرسانی می‌کند. FEATURE باید یکی از موارد زیر باشد: devel، multiarch، bluetooth، canbus، per-app-dev-shm. این گزینه می‌تواند چندین بار استفاده شود. --filesystem=FILESYSTEM[:ro|:create] اجازهٔ دسترسی برنامه به زیرمجموعه‌ای از سیستم‌فایل. این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. FILESYSTEM می‌تواند یکی از موارد زیر باشد: home، host، host-os، host-etc، host-root، xdg-desktop، xdg-documents، xdg-download، xdg-music، xdg-pictures، xdg-public-share، xdg-templates، xdg-videos، xdg-run، xdg-config، xdg-cache، xdg-data، یک مسیر مطلق، یا یک مسیر نسبی به پوشهٔ خانگی مانند ~/dir یا مسیرهای نسبی به دایرکتوری‌های xdg مانند xdg-download/subdir. پسوند اختیاری :ro نشان می‌دهد که مسیر فقط‌خواندنی خواهد بود. پسوند اختیاری :create نشان می‌دهد که مسیر خواندنی-نوشتنی است و در صورت عدم وجود ایجاد می‌شود. این گزینه می‌تواند چندین بار استفاده شود. برای جزئیات مربوط به معانی این سیستم‌فایل‌ها، به فهرست "[Context] filesystems" در flatpak- metadata(5) مراجعه کنید. پیش از فلت‌پک ۱.۱۷.۰، دسترسی به host به‌طور پیش‌فرض داده می‌شد. --nofilesystem=FILESYSTEM حذف دسترسی به زیرمجموعهٔ مشخص‌شده از سیستم‌فایل از برنامه. این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. FILESYSTEM می‌تواند یکی از موارد زیر باشد: home، host، host-os، host-etc، host-root، xdg-desktop، xdg-documents، xdg-download، xdg-music، xdg-pictures، xdg-public-share، xdg-templates، xdg-videos، یک مسیر مطلق، یا یک مسیر نسبی به پوشهٔ خانگی مانند ~/dir. این گزینه می‌تواند چندین بار استفاده شود. --with-appdir در دسترس قرار دادن و پیکربندی دسترسی به پوشهٔ ذخیره‌سازی اختصاصی هر برنامه در $HOME/.var/app. این گزینه معمولاً هنگام ساخت کاربردی ندارد، اما برای آزمایش برنامه‌های ساخته‌شده مفید است. --add-policy=SUBSYSTEM.KEY=VALUE افزودن گزینهٔ خط‌مشی عمومی. برای نمونه، "--add-policy=subsystem.key=v1 --add-policy=subsystem.key=v2" به این فراداده نگاشت می‌شود: [Policy subsystem] key=v1;v2; این گزینه می‌تواند چندین بار استفاده شود. --remove-policy=SUBSYSTEM.KEY=VALUE حذف گزینهٔ خط‌مشی عمومی. این گزینه می‌تواند چندین بار استفاده شود. --env=VAR=VALUE تنظیم یک متغیر محیطی در برنامه. این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. این گزینه می‌تواند چندین بار استفاده شود. --unset-env=VAR حذف یک متغیر محیطی در برنامه. این گزینه ورودی unset-environment در گروه [Context] فراداده و همچنین گروه [Environment] را بازنویسی می‌کند. این گزینه می‌تواند چندین بار استفاده شود. --env-fd=FD خواندن متغیرهای محیطی از توصیف‌گر فایل FD و تنظیم آن‌ها به‌گونه‌ای که گویی از طریق --env اعمال شده‌اند. از این گزینه می‌توان برای جلوگیری از مشاهده‌پذیر شدن متغیرهای محیطی و مقادیر آن‌ها برای سایر کاربران استفاده کرد. هر متغیر محیطی در قالب VAR=VALUE به همراه یک بایت صفر در انتها است. این همان قالبی است که توسط env -0 و /proc/*/environ استفاده می‌شود. --own-name=NAME اجازه دادن به برنامه برای تملک نام شناخته‌شدهٔ NAME روی گذرگاه نشست (session bus). این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. این گزینه می‌تواند چندین بار استفاده شود. --talk-name=NAME اجازه دادن به برنامه برای گفتگو با نام شناخته‌شدهٔ NAME روی گذرگاه نشست. این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. این گزینه می‌تواند چندین بار استفاده شود. --system-own-name=NAME اجازه دادن به برنامه برای تملک نام شناخته‌شدهٔ NAME روی گذرگاه سیستم (system bus). این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. این گزینه می‌تواند چندین بار استفاده شود. --system-talk-name=NAME اجازه دادن به برنامه برای گفتگو با نام شناخته‌شدهٔ NAME روی گذرگاه سیستم. این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. این گزینه می‌تواند چندین بار استفاده شود. --persist=FILENAME اگر برنامه به پوشهٔ خانگی واقعی دسترسی ندارد، مسیر (نسبی به پوشهٔ خانگی) FILENAME را به یک پیوند اتصالی (bind mount) به مسیر متناظر در پوشهٔ اختصاصی برنامه تبدیل می‌کند، که امکان نگهداری دائمی داده‌ها را در آن مکان فراهم می‌سازد. این گزینه بخش Context فرادادهٔ برنامه را بازنویسی می‌کند. این گزینه می‌تواند چندین بار استفاده شود. --sdk-dir=DIR به‌طور معمول اگر پوشه‌ای به نام usr در دایرکتوری ساخت وجود داشته باشد، برای فایل‌های محیط زمان‌اجرا استفاده می‌شود (این پوشه می‌تواند با آرگومان‌های --writable-sdk یا --type=runtime در دستور build-init ایجاد شده باشد). اگر --sdk-dir را مشخص کنید، به‌جای آن از این پوشه استفاده خواهد شد. اگر در build-init از --sdk-dir استفاده کرده‌اید، اینجا نیز از آن استفاده کنید. --readonly سوار کردن دایرکتوری‌های مقصد که معمولاً قابل نوشتن هستند به‌صورت فقط‌خواندنی. این گزینه زمانی مفید است که می‌خواهید چیزی را درون محیط ایزوله (sandbox) اجرا کنید و مطمئن شوید که تغییری در نتایج ساخت ایجاد نمی‌کند، مانند اجرای آزمون‌ها. --metadata=FILE استفاده از فایل مشخص‌شده به‌عنوان فراداده در برنامهٔ صادرشده به‌جای فایل پیش‌فرض (به نام metadata). این گزینه زمانی مفید است که چندین مورد را از یک درخت ساخت واحد تولید می‌کنید (مانند ساخت همزمان پلتفرم و sdk). --log-session-bus ثبت لاگ ترافیک گذرگاه نشست (session bus). این گزینه می‌تواند برای بررسی اینکه چه دسترسی‌هایی را باید در خط‌مشی D-Bus مجاز کنید، مفید باشد. --log-system-bus ثبت لاگ ترافیک گذرگاه سیستم (system bus). این گزینه می‌تواند برای بررسی اینکه چه دسترسی‌هایی را باید در خط‌مشی D-Bus مجاز کنید، مفید باشد. مثال‌ها (EXAMPLES) $ flatpak build /build/my-app rpmbuild my-app.src.rpm همچنین ببینید (SEE ALSO) flatpak(1), flatpak-build-init(1), flatpak-build-finish(1), flatpak- build-export(1) flatpak FLATPAK BUILD(1)