شما هنوز به سیستم وارد نشده اید.

#1 2018-09-19 21:15:27

حسین حیدری
Moderator
از : اصفهان
ثبت شده: 2015-09-16
ارسال ها: 412

قرار دادن یک PKGBUILD در AUR

درود

من یک PKBUILD ساختم که نمیدونم آیا  تغییری باید درونش انجام بدم برای قرار دادن در AUR یا خیر، در AUR یک حساب کاربری ساختم، کلید ssh و gnupg هم دارم ولی نمیدونم چطوری باید این pkgbuild را درون aur بذارم، خوشحال میشم یاری کنید smile

# Maintainer: Hossein Heydari <nelliel@riseup.net>

pkgname='Carburetor'
pkgver=2.2
pkgrel=1
pkgdesc=" This is a graphical settings app for tractor which is a package uses Python stem library to provide a connection through the onion proxy and sets up proxy in user session, so you don't have to mess up with TOR on your system anymore. "
arch=('any')
depends=('python-notify2')
url="http://https://gitlab.com/tractor-team/carburetor"
license=('GPL-3.0')
source=("https://gitlab.com/tractor-team/carburetor/-/archive/master/carburetor-master.tar.gz")
sha256sums=('5eac2b2dc6c427963f4afc1b868a9cc294d551606ea6e737bd6a4f0b27dd0ca1')

package() {
 cd "${srcdir}"
install -Dm644 ./carburetor-master/carburetor ${pkgdir}/usr/bin/carburetor
chmod +x ${pkgdir}/usr/bin/carburetor
install -Dm644 ./carburetor-master/man/carburetor.1 ${pkgdir}/usr/share/man/carburetor.1
install -Dm644 ./carburetor-master/desktop/carburetor.desktop ${pkgdir}/usr/share/applications/carburetor.desktop
install -Dm644 ./carburetor-master/desktop/carburetor.svg ${pkgdir}/usr/share/icons/hicolor/scalable/apps/carburetor.svg
}

Just an anime fan

آفلاین

#2 2018-09-19 22:05:44

LinArcX
Moderator
ثبت شده: 2015-09-18
ارسال ها: 840

پاسخ: قرار دادن یک PKGBUILD در AUR

سلام بر حسین عزیز. این آموزش محمد رو ببین:
https://bbs.archusers.ir/viewtopic.php?pid=4136#p4136

آخرین ویرایش توسط LinArcX (2018-09-19 22:06:19)

آفلاین

#3 2018-09-20 11:08:33

حسین حیدری
Moderator
از : اصفهان
ثبت شده: 2015-09-16
ارسال ها: 412

پاسخ: قرار دادن یک PKGBUILD در AUR

اون را قبلا دیده بودم، ولی باز نمیفهمم چی میشه! حتی ویکی هم کامل توضیح نداده، اولا اینکه من pkgver ندارم! دوما اینکه اون sha256sum را خودم با دستور sha256sum از اون بسته tar.gz که سورس دانلود میکنه گرفتم گذاشتم اونجا!

سوما من اصلا نمیفهمم یه دستور گیت که مال کلون کردن چه ربطی داره به آپلود کردن چندتا فایل!
خب اگر یه شاخه خالی کلون میکنه و من باید بعدش پرش کنم و دوباره push کنم الان مشکل اینه که موقع کامیت میگه Please tell me who you are و ....


Just an anime fan

آفلاین

#4 2018-09-20 12:04:04

LinArcX
Moderator
ثبت شده: 2015-09-18
ارسال ها: 840

پاسخ: قرار دادن یک PKGBUILD در AUR

1. واسه pkgver میتونی یه فانکشن بنویسی که خودش بره بر اساس یه سری فاکتورها(مثلا شماره آخرین کامیت و..) یه ورژن واست بسازه و هر سری که قراره بسته تو آپلود کنی تو aur این فانکشنه میاد واست این کارو میکنه. دیگه لازم نیست خودت دستی هر سری pkgver رو تغییر بدی.(از PKGBUILD پرسپولیس میتونی ایده بگیری)
2. کار درستی داری میکنی smile
3. شما اول میای یه فضای کلون شده از aur میکشی بیرون(که با اسمی که براش تعیین میکنی، اون فضا میشه مخصوص پکیج فعلی شما) بعد تو مراحل بعد فایل های لوکال تو بهش اد میکنی و در نهایت کامیت و پوش.
در واقع اینجا ریموت شما، همون آدرس پکیجت میشه.(فک کن داری سورس میذاری تو گیت هاب. عینا همونه!)
این مشکلی هم که بهش برخوردی حدس میزنم یه جای کار رو تو مرحله ssh و اتصال به گیت اشتباه رفتی. از اول مراحل رو چک کن و البته به این پست هم یه نگاهی بنداز:
https://stackoverflow.com/questions/146 … figuration

آخرین ویرایش توسط LinArcX (2018-09-20 12:09:23)

آفلاین

#5 2018-09-20 17:56:08

morealaz
Moderator
از : کرمان
ثبت شده: 2016-03-19
ارسال ها: 332

پاسخ: قرار دادن یک PKGBUILD در AUR

سلام بر حسین و سعید عزیز.
حسین جان اولا برای کار با git قبلش باید یه سری تنظیمات انجام بدی Git#Configuration رو ببین. دلیل اون خطای Please tell me who you are هم احتمالا همین هست.
دوما تابع pkgver برای زمانی استفاده میشه که بسته شما از برنامه هایی مثل git و subversion و غیره برای دریافت آخرین نسخه یه برنامه مخزن اون برنامه استفاده میکنه. این برنامه ها که اصطلاحا به اونا Version control systems میگند هرکدوم برای خودشون مکانیزم خاصی برای تنظیم ورژن یا نسخه برنامه دارند. برای همین چون کاربری که از این برنامه ها برای نصب بسته استفاده میکنه همیشه آخرین نسخه برنامه رو نصب میکنه، نیاز هست که ورژن برنامه هم در زمان نصب مشخص بشه و این ورژن معمولا با ورژنی که نگهدارنده بسته در AUR مشخص میکنه فرق میکنه. برای همین از تابع pkgver استفاده میشه که نسخه برنامه در زمان نصب مشخص بشه و تنظیم بشه. ولی در مورد بسته هایی که اصطلاحا آخرین release اونها نصب میشه چون ورژن برنامه مشخص هست دیگه از تابع pkgver استفاده نمیشه. صفحه VCS package guidelines رو برای اطلاعات بیشتر ببین. به عنوان نمونه اگر بسته persepolis رو نگاه کنی ما دو تا بسته برای این نرم افزار در AUR داریم. یه نسخه معمولی با نام persepolis که آخرین نسخه منتشر شده برنامه رو نصب میکنه که نسخه اون مشخص هست و یه بسته persepolis-git داریم که با استفاده از گیت آخرین نسخه (snapshot) برنامه رو از مخزن گیتهاب برنامه نصب میکنه.
سوما کل فرآیند آپدیت و ساخت بسته جدید در AUR با گیت انجام میشه. همونجور که سعید گفت شما اول یه مخزن خالی برای بسته خودت کلون میکنی بعد اون رو با فایلهای لازم آپدیت میکنی و push میکنی که در AUR بارگذاری بشه. صفحه مربوط به گیت ویکی رو حتما بخون.
چهارما برای آپدیت checksum بسته به جای اینکه خودت اینکار رو بکنی میتونی از دستور updpkgsums استفاده کنی. این برنامه در بسته pacman-contrib وجود داره و قبلش حتما این بسته رو نصب کن.

آفلاین

پانوشت انجمن

پشتیبانی توسط تیم آرچ لینوکس ایران و نیرو گرفته با FluxBB