newapkbuild(1) General Commands Manual newapkbuild(1)

newapkbuild - تولید یک فایل APKBUILD جدید

newapkbuild گزینه‌ها... [pkgname[-pkgver] | source_url]

دستور newapkbuild یک فایل جدید APKBUILD برای استفاده با abuild(1) تولید می‌کند. چنانچه نام بسته قبلاً با -n مشخص نشده باشد، pkgname نام بسته را تعیین می‌کند. اگر پس از آن یک خط تیره (-) و یک رشته نسخه معتبر pkgver بیاید، علاوه بر نام، نسخه بسته نیز تعیین می‌شود.

در صورتی که source_url مشخص شده باشد، newapkbuild تلاش می‌کند تا با بررسی دایرکتوری سورس، سیستم ساخت را به صورت خودکار تشخیص داده و دستورالعمل‌های ساخت متداول را برای آن سیستم ساخت بنویسد. اگر نشانی اینترنتی سورس را مشخص نکنید، یا بخواهید تشخیص خودکار را نادیده بگیرید، می‌توانید سیستم ساخت را با گزینه مناسب مشخص کنید. چنانچه هیچ source_url و گزینه‌ای تعیین نشده باشد، فایل APKBUILD تولیدشده شامل هیچ دستورالعمل ساختی نخواهد بود.

-a

مشخص می‌کند که بسته از autotools استفاده می‌کند.

-C

مشخص می‌کند که بسته از CMake استفاده می‌کند. ابزار CMake به makedepends اضافه خواهد شد.

-c

باعث می‌شود که newapkbuild علاوه بر موارد دیگر، یک اسکریپت init.d، یک فایل conf.d و اسکریپت‌های نمونه پیش از نصب (pre-install) و پس از نصب (post-install) را در دایرکتوری APKBUILD کپی کند. این امر امکان شروع سریع را برای بسته‌های دیمن (daemon) فراهم می‌سازد. برای جزئیات بیشتر به بخش «فایل‌ها» مراجعه فرمایید.

-d DESC

توضیحات (pkgdesc=) را برای بسته جدید مشخص می‌کند.

-e, -y

مشخص می‌کند که بسته از سیستم ساخت پایتون PEP517 استفاده می‌کند. بسته‌های gpep517، setuptools و wheel پایتون به makedepends اضافه خواهند شد.

-f

در صورتی که فایل APKBUILD از قبل در دایرکتوری بسته وجود داشته باشد، newapkbuild را وادار به بازنویسی و جایگزینی آن می‌کند.

-h

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

-l LICENSE

مجوزی که بسته جدید تحت آن توزیع می‌شود را مشخص می‌کند. این مقدار باید با یک شناسه SPDX مطابقت داشته باشد.

-m

مشخص می‌کند که بسته از Meson استفاده می‌کند. ابزار Meson به makedepends اضافه خواهد شد.

-n NAME

نام بسته جدید را تعیین می‌کند. دایرکتوری جدیدی به نام NAME حاوی فایل APKBUILD در دایرکتوری جاری ایجاد خواهد شد.

-p

مشخص می‌کند که بسته از یک فایل Makefile.PL پرل استفاده می‌کند. قالب CPAN به کار گرفته خواهد شد و Perl به depends اضافه می‌شود.

-r

مشخص می‌کند که بسته از Cargo استفاده می‌کند. ابزار Cargo به makedepends اضافه خواهد شد.

-s

یک نشانی اینترنتی خودکار SourceForge بر اساس نام و نسخه بسته ایجاد می‌کند. این گزینه تنها در صورتی معتبر است که pkgname-pkgver در خط فرمان مشخص شده باشد.

-u URL

صفحه وب (url=) را برای بسته جدید مشخص می‌کند. این نشانی نباید نشانی بسته سورس باشد؛ بلکه باید صفحه وب اصلی پروژه باشد.

تمامی فایل‌های تولیدشده در دایرکتوری pkgname در داخل دایرکتوری کاری جاری قرار خواهند گرفت؛ در صورتی که دایرکتوری pkgname وجود نداشته باشد ایجاد خواهد شد.

APKBUILD

دستور newapkbuild یک فایل APKBUILD را با استفاده از اطلاعات به‌دست‌آمده از اجرای newapkbuild و در صورت مشخص بودن source_url، بررسی سورس بسته دانلودشده ایجاد خواهد کرد. برای اطلاعات بیشتر پیرامون APKBUILD و قالب آن، به APKBUILD(5) مراجعه کنید.

pkgname.initd

در صورت تعیین -c، دستور newapkbuild فایل pkgname.initd را همراه با داده‌های نمونه ایجاد می‌کند تا به ساخت اسکریپت init.d برای یک دیمن کمک کند.

pkgname.confd

در صورت تعیین -c، دستور newapkbuild فایل pkgname.confd را برای کمک به ایجاد فایل conf.d دیمن که توسط اسکریپت‌های init.d به کار می‌رود تولید خواهد کرد. فایل‌های conf.d برای پیکربندی اسکریپت‌های init.d استفاده می‌شوند؛ برای اطلاعات بیشتر، openrc(8) و rc_config(3) را ببینید.

pkgname.pre-install

در صورت تعیین -c، دستور newapkbuild فایل pkgname.pre-install را ایجاد می‌کند که محتوای آن پیش از نصب بسته توسط apk(8) اجرا خواهد شد.

pkgname.post-install

در صورت تعیین -c، دستور newapkbuild فایل pkgname.post-install را ایجاد می‌کند که محتوای آن پس از نصب موفق بسته توسط apk(8) اجرا خواهد شد. برای اطلاعات بیشتر پیرامون قلاب‌های نصب apk، به راهنمای apk(8) رجوع کنید.

newapkbuild \
	-n sharutils \
	-d "Utilities for manipulating shell archives" \
	-l "GPL-3.0+" \
	-u "https://www.gnu.org/software/sharutils" \
	-a \
	"https://ftp.gnu.org/gnu/sharutils/sharutils-4.15.2.tar.xz"

مرجع مجوزهای SPDX (در وب در نشانی https://spdx.org/licenses)، abuild(1), apk(8), APKBUILD(5).

newapkbuild: Natanael Copa <ncopa@alpinelinux.org>

مستندسازی:
A. Wilcox <wilfox@adelielinux.org>

2026-06-05