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"
newapkbuild: Natanael Copa
<ncopa@alpinelinux.org>
مستندسازی:
A. Wilcox <wilfox@adelielinux.org>