ఉబుంటు ప్యాకేజింగ్ గైడ్

డాక్యుమెంటేషన్

డెఫెల్పర్తో ప్యాకేజింగ్


[ముఖ్యమైన]

అవసరాలు: "స్క్రాచ్ నుండి ప్యాకేజింగ్" అని పిలువబడే విభాగంలోని అవసరాలు, ప్లెబల్పర్ మరియు dh- తయారు

ప్యాకేజీగా, మునుపటి విభాగంలో మేము చేసిన విధంగా మీరు అరుదుగా ప్యాకేజీలను స్క్రాచ్ నుండి తయారు చేస్తారు. మీరు ఊహించినట్లుగా, నియమాల ఫైల్ లోని అనేక పనులు మరియు సమాచారం, ఉదాహరణకు, ప్యాకేజీలకు సాధారణం. ప్యాకేజింగ్ సులభం మరియు మరింత సమర్థవంతంగా చేయడానికి, మీరు ఈ పనులకు సహాయపడటానికి, డెబ్helper ను ఉపయోగించవచ్చు. డెబ్భెపర్ అనేది పెర్ల్ స్క్రిప్ట్స్ యొక్క సమితి ( dh_ తో పూర్వం ), ఇది ప్యాకేజీ-భవనం యొక్క ప్రక్రియను స్వయంచాలకం చేస్తుంది. ఈ లిపులతో, డెబియన్ ప్యాకేజీని నిర్మించడం చాలా సరళంగా మారుతుంది.

ఈ ఉదాహరణలో, మేము మళ్ళీ GNU హలో ప్యాకేజీని నిర్మిస్తాము, కానీ ఈ సమయంలో మేము Ubuntu హలో-డెబ్helper ప్యాకేజీకి మా పనిని పోల్చి చూస్తాము . మళ్ళీ, మీరు పనిచేసే డైరెక్టరీని సృష్టించండి:

mkdir ~ / hello-debhelper cd ~ / hello-debhelper wget http://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz mkdir ubuntu cd ubuntu

అప్పుడు, ఉబుంటు మూలం ప్యాకేజీని పొందండి:

apt-get మూల hello-debhelper cd ..

మునుపటి ఉదాహరణ వలె, మేము చేయవలసిన మొదటి విషయం అసలైన (అప్స్ట్రీమ్) టార్బాల్ను అన్ప్యాక్ చేయడం.

tar-xzvf hello-2.1.1.tar.gz

అప్స్ట్రీమ్ టార్బల్ ను hello_2.1.1.orig.tar.gz ను కాపీ చేయటానికి బదులు మనము మునుపటి ఉదాహరణలో చేశాము , మనం పనిని dh_make చేస్తాము. మీరు చేయాల్సినది మాత్రమే మూలం ఫోల్డర్ పేరును మార్చడం వలన ఇది - రూపంలో ఉంటుంది. ఇక్కడ packagename చిన్నది. ఈ సందర్భంలో, సరిగ్గా పేరు పెట్టబడిన సోర్స్ డైరెక్టరీని టార్బల్ ను అన్టార్రింగ్ చేస్తే మనము దీనిని కదిలిద్దాం:

cd hello-2.1.1

మూలం యొక్క ప్రారంభ "debianization" సృష్టించడానికి మేము dh_make ఉపయోగించే.

dh_make -e your.maintainer@address -f ../hello-2.1.1.tar.gz

dh_make అప్పుడు మీరు ప్రశ్నలు వరుస అడుగుతాము:

ప్యాకేజీ రకం: ఒకే బైనరీ, బహుళ బైనరీ, లైబ్రరీ, కెర్నల్ మాడ్యూల్ లేదా సి డబ్లులు? [s / m / l / k / b] s
కాపెన్ పేజర్: ఇమెయిల్ చిరునామా: packager@coolness.com తేదీ: థు, 6 ఏప్రిల్ 2006 10:07:19 -0700 ప్యాకేజీ పేరు: హలో వెర్షన్: 2.1.1 లైసెన్స్: ఖాళీ రకం ప్యాకేజీ: సింగిల్ హిట్ < నిర్ధారించండి: ఎంటర్ చెయ్యండి


[హెచ్చరిక]

ఒకసారి dh_make -e ను మాత్రమే అమలు చేయండి. మీరు మొదటి సారి చేసిన తర్వాత దాన్ని మళ్ళీ అమలు చేస్తే, అది సరిగా పనిచేయదు. మీరు దానిని మార్చాలని లేదా పొరపాటు చేయాలనుకుంటే, మూలం డైరెక్టరీని తీసివేసి, అప్స్ట్రీమ్ టార్బల్ ను తిరిగి తీసివేయండి. అప్పుడు మీరు మూలం డైరెక్టరీకి వెళ్ళవచ్చు మరియు మళ్లీ ప్రయత్నించండి.

రన్నింగ్ dh_make -e రెండు విషయాలు చేస్తుంది:

హలో కార్యక్రమం చాలా సంక్లిష్టమైనది కాదు, మరియు "స్క్రాచ్ నుండి ప్యాకేజింగ్" అని పిలువబడే విభాగంలో మేము చూసినట్లుగా, అది ప్రాథమిక ఫైల్స్ కంటే ఎక్కువ అవసరం లేదు. అందువల్ల, .exe ఫైళ్ళను తీసివేద్దాము :

cd debian rm * .ex * .EX

హలో , మీరు కూడా కాదు

* లైసెన్స్

* ఉబుంటు ప్యాకేజింగ్ గైడ్ ఇండెక్స్

README.Debian (ప్రోగ్రామ్ యొక్క README కోసం README ఫైల్, ప్రోగ్రామ్ యొక్క README కాదు), dirs (అవసరమైన డైరెక్టరీలను రూపొందించడానికి dh_installdirs చేత ఉపయోగించబడింది), డాక్స్ (ప్రోగ్రామ్ డాక్యుమెంటేషన్ను ఇన్స్టాల్ చేయడానికి dh_installdocs ఉపయోగిస్తారు) లేదా సమాచారం ( dh_installinfo ద్వారా సమాచారాన్ని ఇన్స్టాల్ చేయడం ఫైల్) ఫైళ్ళను డెబియన్ డైరెక్టరీకి మారుస్తుంది . ఈ ఫైళ్ళపై మరింత సమాచారం కొరకు, "dh_make ఉదాహరణకు ఫైల్స్" అనే విభాగాన్ని చూడండి.

ఈ సమయంలో, డెబియన్ డైరెక్టరీలో మీరు మాత్రమే చేంజ్లాగ్ , కంపాట్ , కంట్రోల్ , కాపీరైట్ మరియు నియమాల ఫైళ్ళు మాత్రమే ఉండాలి. "స్క్రాచ్ నుండి ప్యాకేజింగ్" అని పిలువబడే విభాగం నుండి, క్రొత్తది మాత్రమే ఫైల్ కంపాట్ , ఇది డెబ్helper వర్షన్ (ఈ విషయంలో 4) ను కలిగి ఉన్న ఒక ఫైల్.

మీరు కేవలం హలో కాకుండా ఈ ప్యాకేజీ హలో-డెబ్helper అని ప్రతిబింబించేలా ఈ సందర్భంలో కొద్దిగా చేంజ్ లాగ్ సర్దుబాటు చెయ్యాలి:

హలో-డెబ్helper (2.1.1-1) డాపెర్; అత్యవసర = తక్కువ * ప్రారంభ విడుదల - కెప్టెన్ ప్యాకేజర్ Thu, 6 Apr 2006 10:07:19 -0700

Debhelper ను వాడటం ద్వారా, మనము నియంత్రణలో మార్పు చేసుకోవలసిన విషయాలు మాత్రమే ( hello-debhelper కొరకు హలో ప్రత్యామ్నాయం) మరియు సోర్స్ ప్యాకేజీ కొరకు Build-Depends ఫీల్డ్ కు డెబ్helper (> = 4.0.0) ను జోడించడం. హలో-డెబ్helper కోసం ఉబుంటు ప్యాకేజీ కనిపిస్తుంది:

మేము ఉబుంటు హలో-డెబ్లెపర్ ప్యాకేజీ నుండి కాపీరైట్ ఫైల్ మరియు postinst మరియు prerm స్క్రిప్ట్స్ను కాపీ చేయగలము , ఎందుకంటే "స్క్రాచ్ నుండి ప్యాకేజింగ్" అని పిలవబడే విభాగం నుండి వారు మారలేదు. మేము నియమాల ఫైల్ను కూడా కాపీ చేస్తాము, కనుక దానిని తనిఖీ చేయవచ్చు.

cp ../../unt/hello-debhelper-2.1.1/debian/copyright. cp ../../unt/hello-debhelper-2.1.1/debian/postinst. cp ../../unt/hello-debhelper-2.1.1/debian/prerm. cp ../../unt/hello-debhelper-2.1.1/debian/rules.

మనము చూడవలసిన చివరి ఫైలు నియమాలు , ఇక్కడ డెబ్భెర్ స్క్రిప్ట్స్ యొక్క శక్తి చూడవచ్చు. నియమాల యొక్క అపస్మారక వెర్షన్ కొంతవరకు తక్కువగా ఉంది ("నియమాలు" అని పిలిచే విభాగం నుండి వెర్షన్లో 72 పంక్తులు వ్యతిరేకంగా 54 పంక్తులు).

Debhelper వెర్షన్ కనిపిస్తుంది:

#! / usr / bin / make -f package = hello-debhelper CC = gcc CFLAGS = -g -all ifeq (, $ (findstring noopt, $ (DEB_BUILD_OPTIONS))) CFLAGS + = -O2 endif #export DH_VERBOSE = 1 క్లీన్ : dh_testdir dh_clean rm -f build - $ (MAKE) -i మృదువైన సంస్థాపన: build dh_clean dh_installdirs $ (MAKE) prefix = $ (CURDIR) / debian / $ (ప్యాకేజీ) / usr \ mandir = $ (CURDIR) / debian / $ (ప్యాకేజీ) / usr / share / man \ infodir = $ (CURDIR) / debian / $ (ప్యాకేజీ) / usr / share / info \ install బిల్డ్: ./configure --prefix = / usr $ (MAKE) CC = "$ (CC) "CFLAGS =" $ (CFLAGS) "

టచ్ బిల్డ్ బైనరీ-ఇండిపెండ్: ఇన్స్టాల్ # ఈ ప్యాకేజీచే సృష్టించబడిన # నిర్మాణం-లేని స్వతంత్ర ఫైల్లు ఉన్నాయి. ఏదైనా ఉంటే అవి # ఇక్కడ తయారు చేయబడతాయి. బైనరీ-వంపు: dh_testdir -a dh_testroot -a dh_installdocs -a న్యూస్ dh_installchangelogs -a చేంజ్లాగ్ dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_mountcontrol -a dh_builddeb -a dh_builddeb -a బైనరీ: బైనరీ- indep బైనరీ- arch .బయోనీ: బైనరీ బైనరీ వంపు బైనరీ ఇండిపెండెడ్ క్లీన్ చెక్రోట్

మీరు root డైరెక్టరీలు ( dh_testroot ), డాక్యుమెంటేషన్ ( dh_installdocs మరియు dh_installchangelogs ) తో ప్యాకేజీని నిర్మిస్తున్నారని నిర్ధారిస్తూ, సరైన బిల్ డైరెక్టరీ ( dh_testdir ) లో ఉన్నారో లేదో గమనించండి మరియు బిల్డ్ ( dh_clean ) స్వయంచాలకంగా . చాలా ప్యాకేజీలు హలో కంటే నియమాలను పెద్దవిగా కలిగి ఉంటాయి, ఎందుకంటే డెబ్సెపర్ స్క్రిప్ట్లు చాలా పనులు నిర్వహిస్తాయి. Debhelper స్క్రిప్ట్స్ యొక్క పూర్తి జాబితా కొరకు, " debhelper scripts" అనే విభాగాన్ని చూడండి. వారు కూడా వారి సంబంధిత మాన్ పుటలలో చక్కగా నమోదు చేయబడ్డారు. పై నియమాల ఫైలులో ఉపయోగించిన సహాయక స్క్రిప్టుకు మాన్యువల్ పేజీ (వారు బాగా వ్రాసినవి మరియు సుదీర్ఘమైనవి కాదు) చదవడానికి ఇది ఒక ఉపయోగకరమైన వ్యాయామం.