आर्क लिनक्स और इसके डेरिवेटिव के बारे में मुझे सबसे ज्यादा पसंद है बहुत आसानी पैकेज बनाने के लिए बाद में सिस्टम पर स्थापित किया जाना चाहिए, ज्ञात लोगों के विपरीत लोगों के सामने पहली उपस्थिति करनेवाली डेबियन / उबंटू / लिनक्स टकसाल / आदि की एक अराजकता है (और अगर वे पुस्तकालय हैं तो मैं आपको बताता भी नहीं हूं)
एक बेस टेम्प्लेट यह होगा:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
अब मैं प्रत्येक पैरामीटर की व्याख्या करूंगा:
- # अनुचर: इसमें पैकेज के अनुचर का नाम रखा गया है
- पीकेजीनाम: पैकेज का नाम। इसमें केवल अक्षर, संख्याएँ, -, _ और + हो सकते हैं
- पीकेवर: पैकेज संस्करण। pe 1.0.0
- Pkgrel: कार्यक्रम या पैकेज की समीक्षा। पे १
- पीकेजीडीएससी: पैकेज विवरण।
- आर्क: कार्यक्रम की वास्तुकला: यह किसी भी (सभी के लिए), i686 और x86_64 हो सकता है, पैकेज के लिए किसी भी होने के नाते जो संकलन की आवश्यकता नहीं है, जैसे बैश या अजगर कार्यक्रम। यदि यह एक ऐसा प्रोग्राम है, जिसकी आवश्यकता है (उदाहरण के लिए, C या C ++ में प्रोग्राम), तो आपको i686 को इंगित करना चाहिए यदि यह 32 बिट्स के लिए है या 86 बिट्स के लिए x64_64 है। आम तौर पर, यदि यह दोनों के साथ संगत है, तो यह सेट है (i686, x86_64)
- यूआरएल: कार्यक्रम के आधिकारिक पृष्ठ पर url। इसे लगाना उचित है।
- लाइसेंस: कार्यक्रम लाइसेंस। जैसे जीपीएल 3
- समूह: जिन समूहों का पैकेज संबंधित है। समूह = ('प्रणाली')
- निर्भर करता है: इसमें हम उन पैकेजों को इंगित करते हैं जो कार्यक्रम के निष्पादन के लिए आवश्यक हैं। आश्रित = ('पायथन 2' 'pygtk')
- निर्भर करता है: निर्भरताएँ जो केवल पैकेज को संकलित करने के लिए आवश्यक हैं। यदि कोड को संस्करण प्रबंधक से डाउनलोड किया जाना है, तो इसे रखना उचित है। pe: makedepends = ('git')
- स्रोत: इसमें हम पैकेज के निर्माण के लिए आवश्यक फाइलों को इंगित करते हैं। एक सामान्य नियम के रूप में, यह उस पैकेज का url है जिसमें कोड, एक पैच, .desktopt फ़ाइल, आइकन आदि शामिल हैं। pe: source = (pacsyu.desktop)
- एमडी5सम: यहाँ स्रोत में संकेतित फ़ाइलों की md5 रकम हैं। यह जानने के लिए कि हम किस फ़ोल्डर में PKGBUILD के टर्मिनल से चलते हैं (स्रोत में फ़ाइल पथ लिखा है) मेकपकेजी-जी और रकम स्क्रीन पर दिखाई देगी।
अन्य sums जैसे sh1 का उपयोग करना भी संभव है। - निर्माण: इस समारोह में हम डाल देंगे सॉफ़्टवेयर को संकलित करने के लिए आवश्यक आदेश। यदि केवल निम्नलिखित फ़ंक्शन को संकलित करना आवश्यक नहीं है)
- पैकेज: इस अन्य फ़ंक्शन में प्रोग्राम इंस्टॉलेशन कमांड जाएंगे। उदाहरण के लिए अगर हम C कोड को यहाँ संकलित कर रहे हैं तो मेक इनस्टॉल हो जाएगा।
और खत्म करने के लिए हमें बस अमल करना होगा मेकप सत्यापित करें कि पैकेज जनरेट किया गया है।
जैसा कि आप देख सकते हैं, यह हमारे लिए मुश्किल है। फिर मैं आपको कुछ अतिरिक्त मापदंडों के साथ छोड़ देता हूं मेकपैक:
- -मैं: पैकेज बनाने के बाद मेकपैक को इंस्टाल करने का निर्देश देता है।
- -एस: पैकेज निर्भरताएँ स्थापित करें यदि वे रिपॉजिटरी में हैं।
- -F: यदि इस पैरामीटर के साथ उस नाम, संस्करण और संशोधन के साथ पहले से ही एक पैकेज है, तो हम आपको इसे ओवरराइट करने के लिए कहते हैं।
- -सी: एक बार समाप्त होने पर काम करने वाले फ़ोल्डर्स (pkg और source) को साफ़ करें।
- -आर: Recompile किए बिना पैकेज को फिर से लिखें।
मैं अधिक उदाहरण देखने के लिए अधिक PKGBUILD फाइलों को देखने की सलाह देता हूं, कमांड को निष्पादित करता हूं मेकपैक -एच देखने के अलावा, कार्यक्रम के बाकी मापदंडों को देखने के लिए आर्क लिनक्स विकी पर मेकपैक आधिकारिक दस्तावेज तुम क्या पा सकते हो यहां
बहुत अच्छा …
आप एक आर्क पैकेज के लिए .exe पैकेज प्रबंधन (संकलन) बना सकते हैं?
उदाहरण के लिए प्रसिद्ध डाउनलोड प्रबंधक मिपोनी ??
जहाँ तक मुझे पता है कि यह संभव नहीं है, याद रखें कि .exe बायनेरिज़ है न कि सोर्स कोड। लेकिन JDownloader है।
जैसा कि आप कहते हैं, आप एक exe को फिर से नहीं जोड़ सकते क्योंकि यह बाइनरी कोड है।
आप एक पैकेज बना सकते हैं जो इसे स्थापित करता है और इसे वाइन के साथ निष्पादित करता है, जैसा कि प्रसिद्ध P2P प्रोग्राम एरेस के AUR में पैकेज करता है।
कोई व्यक्ति लिनक्स का उपयोग करता है और मिपोनी ... जिजिजिजी को याद करता है
jDownloader जावा में है, और यह सभी जानते हैं कि जावा फेफड़ों के कैंसर का कारण बनता है ...
दिलचस्प है, हमें लगता है कि मुझे लगता है कि qbittorrent hahaha से पहले से ही yaourt में मौजूद है ऐसा करने के लिए इच्छुक पैकेज का परीक्षण करना होगा, लेकिन आपका खुद का संस्करण परीक्षण के लिए बुरा नहीं होगा, जानकारी के लिए धन्यवाद, बधाई
अच्छा इनपुट, +1
मैं जोड़ना चाहता हूं कि वे जेंटू ईबिल्डर्स की तुलना में बनाने और बनाए रखने में भी आसान हैं!
डेबियन के बारे में, मुझे लगता है कि यह डिस्ट्रो अपने आधुनिकीकरण को बड़े पैमाने पर आधुनिकीकरण या अधिक आधुनिक पैकेज और पैकेज प्रबंधन प्रणाली में स्थानांतरित करके बढ़ाएगा, मुझे नहीं पता कि dpkg / apt सेट का अंतिम अद्यतन कब होगा लेकिन अवधारणा पहले से ही होनी चाहिए आसानी से 15 साल हो गए हैं और सच यह है कि आज का दिन एक अनोखा है।
बहुत बहुत धन्यवाद, अभी हाल ही में, मैं इसे विकी में ढूंढ रहा था और मुझे संरचना समझ में नहीं आई थी (मैं PlayonLinux को अपडेट करना चाहता था) लेकिन मैंने फिर भी हार मान ली ... ऐसी चीजें हैं जिनमें मैं करना चाहता हूं एक सहायक या ऐसा कुछ (मुझे गोली मत चलाना) लेकिन फिर भी ... समय के साथ साधनों की अनुपस्थिति में मैं देखूंगा कि क्या मैं कोई सृजन करता हूं
आपके गाइड की बदौलत मैंने Zeya का PKGBUILD बनाना शुरू किया (http://web.psung.name/zeya/), जैसे ही मैं इसे समाप्त करता हूं मैं इसे AUR 🙂 पर अपलोड कर देता हूं
पूरी तरह से सहमत हूं, कुछ समय पहले मैंने उबंटू के लिए एक पैकेज बनाने की कोशिश की थी और मुझे समझ में नहीं आ रहा था कि मैं कैसे बनाऊं, इस बारे में अंत में मैंने कार्यक्रम को छोड़ दिया और मोटे तौर पर प्रोग्राम को स्थापित किया।
पैकेज को एक साथ रखने के लिए आर्क के लिए एक ही कार्यक्रम मुझे 5 मिनट से भी कम समय लगा।
और मुझे यकीन नहीं है, लेकिन मुझे लगता है कि आरपीएम डीईबी की तुलना में थोड़ा आसान है, लेकिन आर्क की तुलना में कठिन है।
बहुत अच्छा और आसान, और .deb के लिए यह उतना मुश्किल नहीं है, अच्छी तरह से iOS के लिए
सादर
मुझे लगता है कि इसने मुझे कुछ समय पहले सेवा दी होगी जब मैंने अपना पहला PKGBUILD AUR first पर अपलोड किया था
क्या कोई यह समझा सकता है कि यह मेरे लिए क्या है, मैं नया हूं, और मुझे नहीं पता कि इससे मुझे एक .deb पैकेज स्थापित करने में मदद मिलती है लेकिन स्थानीय रूप से मंज़रो में, सटीक होने के लिए एक खेल। हाँ यह काम करता है?
मैंने सिर्फ .deb पैकेज से आर्क / मैन्ज्रो के लिए पैकेज बनाने के तरीके पर एक और लेख लिखा है
https://blog.desdelinux.net/archlinux-crear-paquetes-multiplataforma-y-desde-paquetes-deb/
हां, मैंने इसे पहले ही देख लिया था, लेकिन मैं बहुत नॉवेल हूं और मुझे समझ नहीं आ रहा है कि क्या केवल यही लाइन नहीं है
सीडी "$ {srcdir} /"
tar xvzf data.tar.gz -C
cp -r usr $ {pkgdir}
तुम्हारे पीछे क्या है
अगर [«$ {CARCH}» = 'x86_64 CAR]; फिर
ARCH = 'amd64'
md5sums=(‘192a0a222893d59d95f00c34f3c8a674’)
निर्भर करता है = ('ओपनल' 'लीबी 32-ओपनल')
elif ["$ {CARCH}" = 'i686;]; फिर
ARCH = 'i386'
md5sums=(‘047c670443124193c5cc3dd54da99925’)
निर्भर करता है = ('ओपनल')
fi
source = ("http://www.unaurl.com/files/$ trackmaster। $ ARCH.deb")
मुझे यह समझ में नहीं आता है, यह बहुत जटिल है, वे संयुक्त कदम या पहला भाग हैं
सीडी "$ {srcdir} /"
tar xvzf data.tar.gz -C
cp -r usr $ {pkgdir}
इसे अकेले परिवर्तित करने के लिए किया जा सकता है। .tar.gz?