MAKEPKG-TEMPLATE(1)

الاسم
makepkg-template - أداة قوالب بناء الحزم

موجز

makepkg-template [خيارات]

الوصف

makepkg-template هو سكريبت لتسهيل عمل صيانة عدة PKGBUILD متشابهة. يسمح لك بنقل معظم الكود من PKGBUILD إلى ملف قالب ويستخدم علامات للسماح بالتحديث الموضعي لـ PKGBUILD الموجودة إذا تم تغيير القالب.

يمكن لملفات القوالب احتواء أي كود مسموح به في PKGBUILD. يمكنك التفكير بها كملفات خارجية مضمنة باستخدام "." أو "source"، لكنها ستُضمن في PKGBUILD بواسطة makepkg-template حتى لا تعتمد على ملف القالب عند بناء الحزمة.

العلامات هي تعليقات bash بالشكل التالي:

    # template start; key=value; key2=value2; ...

و

    # template end;

المفاتيح المستخدمة حالياً هي: name (إلزامي) و version. أسماء القوالب محدودة بالأحرف الأبجدية الرقمية و "@" و "+" و "." و "-" و "_". الإصدارات محدودة بالأرقام و ".".

للإنشاء الأولي يوجد اختصار من سطر واحد لا يحتاج علامة نهاية:

    # template input; key=value;

استخدام هذا الاختصار سيؤدي إلى قيام makepkg-template باستبداله بعلامات بداية ونهاية وكود القالب في التشغيل الأول.

يجب تخزين ملفات القوالب في دليل واحد ويجب أن تكون أسماء الملفات "$template_name-$version.template" مع رابط رمزي "$template_name.template" يشير إلى أحدث قالب. إذا لم يتم تعيين الإصدار في العلامة، سيستخدم makepkg-template آلياً هدف "$template_name.template"، وإلا سيتم استخدام الإصدار المحدد. هذا يسمح بتحقق أسهل من PKGBUILD غير موثوقة إذا كان القالب موثوقاً. تتحقق من الكود غير القالبي ثم تستخدم أمراً مشابهاً لهذا:

    diff -u <(makepkg-template -o -) PKGBUILD

قد تحتوي ملفات القوالب أيضًا على علامات تؤدي إلى قوالب متداخلة في PKGBUILD الناتجة. إذا استخدمت علامات في قالب، يرجى تعيين الإصدار الذي استخدمته/اختبرته في علامة البداية/الإدخال حتى يتمكن الآخرون من إعادة الإنشاء بشكل صحيح من القوالب.

الخيارات

-p, --input <سكريبت البناء>
    يقرأ سكريبت بناء سكريبت الحزمة بدلاً من المبدئي.

-o, --output <سكريبت البناء>
    يكتب الملف المحدث إلى سكريبت البناء بدلاً من الكتابة فوق ملف الإدخال.

-n, --newest
    يستخدم دائماً أحدث ملف قالب متاح.

--template-dir <دليل>
    يغير الدليل الذي نبحث فيه عن ملفات القوالب. يمكن إعطاء هذا الخيار عدة مرات وفي هذه الحالة ستكون الأولوية للملفات الموجودة في الدليل المعطى أخيراً.

مثال PKGBUILD

    pkgname=perl-config-simple
    pkgver=4.58
    pkgrel=1
    pkgdesc="simple configuration file class"
    arch=('any')
    license=('PerlArtistic' 'GPL')
    depends=('perl')
    source=("http://search.cpan.org/CPAN/authors/id/S/SH/SHERZODR/Config-Simple-${pkgver}.tar.gz")
    sha256sums=('dd9995706f0f9384a15ccffe116c3b6e22f42ba2e58d8f24ed03c4a0e386edb4')
    _distname="Config-Simple"

    # template start; name=perl-module; version=1.0;
    _distdir="${_distname}-${pkgver}"
    url="https://metacpan.org/release/${_distname}"
    options+=('!emptydirs')

    build() {
            cd "$srcdir/$_distdir"
            perl Makefile.PL INSTALLDIRS=vendor
            make
    }

    check() {
            cd "$srcdir/$_distdir"
            make test
    }

    package() {
            cd "$srcdir/$_distdir"
            make DESTDIR="$pkgdir" install
    }
    # template end;

انظر أيضًا

makepkg(8), PKGBUILD(5)

راجع موقع pacman الإلكتروني على https://archlinux.org/pacman/ للحصول على معلومات حديثة حول pacman والأدوات المرتبطة به.

العلل

علل؟ لا بد أنك تمزح؛ لا توجد علل في هذا البرنامج. ولكن إذا صدف وكنا مخطئين، فيُرجى الإبلاغ عنها في متتبع المشكلات في https://gitlab.archlinux.org/pacman/pacman/-/issues مع معلومات محددة مثل سطر الأوامر الخاص بك، وطبيعة العلة، وحتى قاعدة بيانات الحزمة إذا كان ذلك يساعد.

المؤلفون

المصينون الحاليون:

    • آلان مكراي <allan@archlinux.org>

    • أندرو غريغوري <andrew.gregory.8@gmail.com>

    • Morgan Adamiec <morganamilo@archlinux.org>

المساهمون الرئيسون السابقون:

    • Judd Vinet <jvinet@zeroflux.org>

    • أوريليان فوريه <aurelien@archlinux.org>

    • آرون غريفين <aaron@archlinux.org>

    • دان ماكغي <dan@archlinux.org>

    • Xavier Chantry <shiningxc@gmail.com>

    • Nagy Gabor <ngaba@bibl.u-szeged.hu>

    • ديف رايزنر <dreisner@archlinux.org>

    • إيلي شوارتز <eschwartz@archlinux.org>

للمساهمين الإضافيين، استخدم git shortlog -s على مستودع pacman.git.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.