Arch Linux және оның туындылары туралы маған ұнайтын нәрселердің бірі өте қарапайым кейінірек жүйеге орнатылатын пакеттер жасау, белгіліге қарағанда .deb бұл Debian / Ubuntu / Linux Mint / және т.б., бұл хаос (және егер олар кітапхана болса, мен сізге тіпті айтпаймын).
Негізгі үлгі келесідей болады:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
Енді мен әр параметрді түсіндіремін:
- # Күтуші: Онда пакетті ұстаушының аты жазылған
- pkgname: Пакеттің атауы. Онда тек әріптер, сандар, -, _ және + болуы мүмкін
- pkver: пакет нұсқасы. pe 1.0.0
- pkgrel: бағдарламаны немесе пакетті қарау. pe 1
- pkgdesc: пакеттің сипаттамасы.
- арка: бағдарламаның архитектурасы: кез келген болуы мүмкін (барлығы үшін), i686 және x86_64, bash немесе python бағдарламалары сияқты компиляцияны қажет етпейтін пакеттер үшін кез келген болуы мүмкін. Егер ол қажет бағдарлама болса (мысалы, C немесе C ++ тіліндегі бағдарламалар), егер сіз 686 битке арналған болса, i32 немесе 86 битке x64_64 көрсетіңіз. Әдетте, егер ол екеуімен де үйлесімді болса, орнатылады (i686, x86_64)
- url: бағдарламаның ресми парағына url. Оны қою ұсынылады.
- лицензия: бағдарлама лицензиясы. мысалы, GPL3
- топтар: пакет тиесілі топтар. топтар = ('жүйе')
- байланысты: онда біз бағдарламаның орындалуына қажетті бумаларды көрсетеміз. pependens = ('python2' 'pygtk')
- тәуелді: буманы құрастыру үшін ғана қажет болатын тәуелділіктер. Егер кодты нұсқа менеджерінен жүктеу керек болса, оны қойған жөн. pe: makedepends = ('git')
- көзі: онда біз буманы құруға қажетті файлдарды көрсетеміз. Жалпы ереже бойынша, бұл код, патч, .desktopt файлы, белгішелер және т.с.с бумаға url. pe: source = (pacsyu.desktop)
- md5 сомасы: Мұнда дереккөзде көрсетілген файлдардың md5 қосындылары келтірілген. PKGBUILD орналасқан қалтадағы терминалдан қайсысын іске қосатынымызды білу үшін (файл жолдарын дерек көзіне жазып) makepkg -g және қосындылар экранда пайда болады.
Sh1 сияқты басқа қосындыларды да қолдануға болады. - құрастыру: Бұл функцияда біз бағдарламалық жасақтаманы компиляциялауға қажетті командалар. Егер компиляция жасау қажет болмаса, тек келесі функция қажет)
- пакет: осы басқа функцияда бағдарламаны орнату командалары орындалады. Мысалы, егер біз C кодын құрастыратын болсақ, онда оны орнату орындалады.
Аяқтау үшін біз тек орындауымыз керек makepkg пакеттің жасалғандығын тексеру үшін.
Көріп отырғаныңыздай, бұл бізге қиын. Содан кейін мен сізге қосымша параметрлерін қалдырамын makepkg:
- -Ио: Пакет жасалғаннан кейін оны орнату туралы makepkg-ге нұсқау береді.
- -дер: Егер олар репозитарийде болса, пакеттің тәуелділіктерін орнатыңыз.
- -F: Егер осы атаумен бума, нұсқасы және осы параметрмен өңделген пакеті болса, сізге оны қайта жазыңыз деп айтамыз.
- -c: Аяқтағаннан кейін жұмыс қалталарын (pkg және көзі) тазалаңыз.
- -Р: Қайта компиляция жасамай пакетті қайта ораңыз.
Қосымша мысалдарды көру үшін команданы орындау үшін көбірек PKGBUILD файлдарын көруге кеңес беремін makepkg -h бағдарламаның қалған параметрлерін көру үшін қосымша Arch Linux Wiki-дегі ресми құжат сіз не таба аласыз Мұнда
14 пікір, өз пікіріңізді қалдырыңыз
Өте жақсы …
.Exe бумасын Arch пакетіне басқара (компиляция) жасай аласыз ба?
Мысалы, әйгілі жүктеу менеджері Мипония ??
Менің білуімше, бұл мүмкін емес, .exe екілік файлдар екенін және бастапқы код емес екенін ұмытпаңыз. Бірақ JDownloader бар.
Өзіңіз айтқандай, сіз exe-ді компиляциялай алмайсыз, өйткені бұл екілік код.
Сіз оны орнататын және белгілі P2P Ares бағдарламасының AUR-індегі пакет сияқты Шараппен орындайтын бума жасай аласыз.
біреу linux-ті пайдаланады және Myponi-ді сағынады ... jijijijiji
jDownloader java-да және java өкпенің қатерлі ісігін тудыратыны бәріне белгілі ...
қызықты, біз пакеттерді тестілеуден өткізуге тура келеді деп ойлаймын, qbittorrent-тен біреуін жасауға бейіммін, хахаха сізде бұрыннан бар, бірақ өз нұсқаңыздың болуы тестілеу үшін жаман болмайды, ақпарат, рахмет үшін рахмет
Жақсы кіріс, +1
Gentoo ebuilds-тен гөрі оларды жасау және қызмет көрсету оңайырақ екенін қосқым келеді!
Debian-ға қатысты, менің ойымша, бұл дистрофикация өзінің заманауи пакетін және пакетті басқару жүйесін модернизациялау немесе көшіру арқылы өзінің мүгедектігін айтарлықтай арттырады, dpkg / apt жиынтығының соңғы жаңартуы қашан болатынын білмеймін, бірақ тұжырымдама қазірдің өзінде болуы керек оңай 15 жыл, және бүгінде анахронистік болып табылады.
Сізге көп рахмет, жақында мен оны викиден іздедім және құрылымын түсінбедім (мен PlayonLinux жаңартқым келді), бірақ мен бәрібір бас тарттым ... менде бар нәрселер бар ассистент немесе сол сияқты нәрсе (мені атпаңыз), бірақ бәрібір ... уақыт өте келе құралдар болмаған кезде мен өзімнің қандай
Сіздің нұсқаулығыңыздың арқасында мен Зеяның PKGBUILD құрамын бастадым (http://web.psung.name/zeya/), мен оны аяқтаған бойда АУР-ға жүктеймін 🙂
Толығымен келісемін, біраз уақыт бұрын мен Ubuntu үшін пакет жасауға тырыстым, және оны жасау туралы түсінікті ақпарат таба алмадым, соңында мен бағдарламадан бас тарттым.
Arch-қа арналған бірдей бағдарлама пакетті жинауға 5 минуттан аз уақытты алды.
Мен сенімді емеспін, бірақ менің ойымша, RPM DEB-ге қарағанда оңайырақ, бірақ Arch-тен қиын.
Өте жақсы және оңай, ал .deb-ге келетін болсақ, бұл iOS үшін ондай қиын емес
тілекпен
Менің ойымша, бұл біраз уақыт бұрын мен алғашқы PKGBUILD-ті AUR-ге жүктегенде маған қызмет етер еді 🙂
Маған біреу не екенін айта алады, мен жаңамын, және бұл маған .deb пакетін орнатуға көмектесетінін білмеймін, бірақ жергілікті жерде, дәлірек айтсақ, ойын. Ия, ол жұмыс істейді ме?
.Deb бумаларынан arch / manjaro үшін бумалар жасау туралы мен тағы бір мақала жаздым
https://blog.desdelinux.net/archlinux-crear-paquetes-multiplataforma-y-desde-paquetes-deb/
Ия, мен бұны бұрын көрген едім, бірақ мен өте романмын және мен бұл жол ғана емес екенін түсінбеймін
CD «$ {srcdir} /»
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
артында не бар
егер [«$ {CARCH}» = 'x86_64 ′]; содан кейін
ARCH = 'amd64'
md5sums=(‘192a0a222893d59d95f00c34f3c8a674’)
тәуелді = ('ашық' 'lib32-ашық')
elif [«$ {CARCH}» = 'i686 ′]; содан кейін
ARCH = 'i386'
md5sums=(‘047c670443124193c5cc3dd54da99925’)
тәуелді = ('ашық')
fi
source = («http://www.unaurl.com/files/$ trackmaster. $ ARCH.deb»)
Мен оны түсінбеймін, бұл өте күрделі көрінеді, бұл бірлескен қадамдар немесе бірінші бөлік
CD «$ {srcdir} /»
tar xvzf data.tar.gz -C.
cp -r usr $ {pkgdir}
оны .deb түрлендіру үшін жалғыз жасауға болады. .tar.gz?