ઉબુન્ટુ પેકેજીંગ માર્ગદર્શન

દસ્તાવેજીકરણ

ડેબેલર સાથે પેકેજિંગ


[મહત્વનું]

જરૂરીયાતો: "પેકેજીંગ ફ્રોમ સ્ક્રેચ" વત્તા ડેવલપર અને ડીએચ-મેક નામના વિભાગની જરૂરિયાત

પેકજર તરીકે, તમે ભાગ્યે જ પેકેજોને શરૂઆતથી બનાવી શકશો, કારણ કે આપણે અગાઉના વિભાગમાં કર્યું છે. જેમ તમે કલ્પના કરી શકો છો, ઉદાહરણ તરીકે નિયમોમાંની ઘણી બધી ક્રિયાઓ અને માહિતી પેકેજોમાં સામાન્ય છે. પેકેજિંગને વધુ સરળ અને વધુ કાર્યક્ષમ બનાવવા માટે, તમે આ કાર્યોમાં મદદ કરવા માટે ડિબેલરનો ઉપયોગ કરી શકો છો. ડેબેલર પર્લ સ્ક્રિપ્ટોનો એક સમૂહ છે ( dh_ સાથે પ્રિફિક્સ કરેલ ) જે પેકેજ બિલ્ડિંગની પ્રક્રિયાને સ્વતઃ કરે છે . આ સ્ક્રિપ્ટ્સ સાથે, ડેબિયન પેકેજનું નિર્માણ ખૂબ સરળ બને છે.

આ ઉદાહરણમાં, અમે ફરીથી જીએનયુ હેલો પેકેજનું નિર્માણ કરીશું, પરંતુ આ વખતે અમે ઉબુન્ટુ હેલ્લો-ડેબેલર પેકેજ માટે અમારા કામની તુલના કરીશું . ફરીથી, તમે જ્યાં કામ કરશો તે નિર્દેશિકા બનાવો:

mkdir ~ / hello-debhelper cd ~ / hello-debhelper wget http://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz mkdir ઉબુન્ટુ સીડી ઉબુન્ટુ

પછી, ઉબુન્ટુ સ્ત્રોત પેકેજ મેળવો:

તત્કાલ મેળવવા સ્રોત હેલ્લો-ડેવલપર સીડી ..

પાછલા ઉદાહરણની જેમ, આપણે જે પ્રથમ વસ્તુ કરવાની જરૂર છે તે મૂળ (અપસ્ટ્રીમ) ટારબોલને અનપૅક કરે છે.

ટાર -xzvf હેલ્લો-2.1.1.tar.gz

અપસ્ટ્રીમ ટર્બૉલની નકલ કરવાને બદલે hello_2.1.1.orig.tar.gz ની જેમ આપણે પહેલાંના ઉદાહરણમાં કર્યું હતું, તો અમે dh_make અમારા માટે કાર્ય કરીએ. તમારે જે વસ્તુ કરવાનું છે તે સ્રોત ફોલ્ડરનું નામ બદલીને છે, જેથી તે - ના સ્વરૂપમાં છે જ્યાં પેકજેનેમ લોઅરકેસ છે. આ કિસ્સામાં, ફક્ત ટારબોલને નકામું રાખવું યોગ્ય નામવાળી સ્રોત ડાયરેક્ટરીનું નિર્માણ કરે છે તેથી અમે તેના પર જઈ શકીએ છીએ:

સીડી હેલ્ઓ-2.1.1

સ્રોતની પ્રારંભિક "ડીબેનાઇઝેશન" બનાવવા માટે અમે dh_make નો ઉપયોગ કરીશું .

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

dh_make પછી તમને પ્રશ્નોની શ્રેણી પૂછશે:

પેકેજનો પ્રકાર: સિંગલ બાઈનરી, બહુવિધ દ્વિસંગી, લાઇબ્રેરી, કર્નલ મોડ્યુલ અથવા સીડીબીએસ? [ઓ / મીટર / એલ / કે / બી]
જાળવનારનું નામ: કેપ્ટન પેકાગર ઇમેઇલ-સરનામું: પેકૅજર@કોોલનેસ.કોમ તારીખ: ગુરુ, 6 એપ્રિલ 2006 10:07:19 -0700 પેકેજનું નામ: હેલ્લો વર્ઝન: 2.1.1 લાઈસન્સ: ખાલી પેકેજનો પ્રકાર: સિંગલ હીટ થી પુષ્ટિ કરો: દાખલ કરો


[સાવધાન]

ફક્ત dh_make -e એકવાર ચલાવો જો તમે તેને પ્રથમ વખત કરો છો, તો તે યોગ્ય રીતે કાર્ય કરશે નહીં. જો તમે તેને બદલવા માંગો છો અથવા ભૂલ કરી છે, તો સ્રોત ડાયરેક્ટરીને દૂર કરો અને અપસ્ટ્રીમ ટર્બૉલને નવેસરથી કાઢી નાખો. પછી તમે સ્રોત ડાયરેક્ટરીમાં સ્થાનાંતરિત કરી શકો છો અને ફરી પ્રયાસ કરો.

Dh_make -e ચાલી રહ્યું છે બે બાબતો કરે છે:

હેલો પ્રોગ્રામ ખૂબ જ જટીલ નથી, અને જેમ આપણે "પેકેજીંગ ફ્રોમ સ્ક્રેચ" નામના વિભાગમાં જોયું છે, તો પેકેજિંગને તે મૂળભૂત ફાઇલો કરતાં વધારે જરૂર નથી. તેથી, ચાલો આપણે .ex ફાઈલોને દૂર કરીએ:

સીડી ડેબિયન આરએમ *. એક્સ * .EX

હેલો માટે , તમે પણ નહીં

* લાઈસન્સ

* ઉબુન્ટુ પેકેજીંગ ગાઇડ ઇન્ડેક્સ

README.Debian (ચોક્કસ ડેબિયન મુદ્દાઓ માટે README ફાઇલ, પ્રોગ્રામની README નથી), ડીઆઈઆરએસ ( ડી.આઇ.આઇ. વિન્ડલડાયર દ્વારા જરૂરી ડિરેક્ટરીઓ બનાવવા માટે ઉપયોગમાં લેવાય છે), દસ્તાવેજો ( dh_installdocs દ્વારા પ્રોગ્રામ દસ્તાવેજીકરણને ઇન્સ્ટોલ કરવા માટે વપરાય છે), અથવા માહિતી (માહિતીની માહિતી સ્થાપિત કરવા માટે dh_installinfo ફાઇલ) ફાઈલો ડેબિયન ડિરેક્ટરીમાં. આ ફાઇલો પર વધુ માહિતી માટે, "dh_make ઉદાહરણ ફાઈલો" નામનું વિભાગ જુઓ.

આ બિંદુએ, તમારી પાસે ડેબિયન ડિરેક્ટરમાં ફક્ત ચેન્જલોગ , કમ્પેટ , નિયંત્રણ , કૉપિરાઇટ અને નિયમો ફાઇલો હોવા જોઈએ. "પેકેજીંગ ફ્રોમ સ્ક્રેચ" નામના વિભાગમાંથી, નવી ફાઇલ એ કમ્પેટ છે , જે ફાઇલ છે જે ડેવલપર વર્ઝન (આ કેસ 4 માં) નો ઉપયોગ કરે છે.

ચેન્જલોગને આ કિસ્સામાં સહેજ વ્યવસ્થિત કરવાની જરૂર છે તે દર્શાવવા માટે કે આ પેકેજનું નામ ફક્ત હેલ્લો કરતા હેલ્લો-ડેલ્પર છે.

હેલ્લો-ડેલ્બર (2.1.1-1) ડૅપર; તાકીદ = નીચા * પ્રારંભિક પ્રકાશન - કેપ્ટન પેકાઇઝર ગુરુ, 6 એપ્રિલ 2006 10:07:19 -0700

ડિબ્રેપરનો ઉપયોગ કરીને, ફક્ત નિયંત્રણમાં ફેરફાર કરવાની જરૂર જ વસ્તુઓ છે ( હેલ્લો-ડેબેલર માટે હેલ્લોને બદલીને ) અને સ્રોતના પેકેજ માટે બિલ્ડ- ડિપ્પેન્ડ્સ ફિલ્ડમાં ડિબેલર (> = 4.0.0) ઉમેરીને. હેલ્લો-ડેવલપર માટે ઉબુન્ટુ પેકેજ આના જેવું દેખાય છે:

અમે કૉપિરાઇટ ફાઇલ અને ઉબુન્ટુ હેલ્લો-ડેબેલર પૅકેજમાંથી પોસ્ટઇન્સ્ટ અને પ્રીર્મ સ્ક્રિપ્ટ્સને કૉપિ કરી શકીએ છીએ, કારણ કે તેઓ "પેકેજીંગ ફ્રોમ સ્ક્રેચ" તરીકે ઓળખાતા વિભાગથી બદલ્યાં નથી. અમે નિયમોની નકલ પણ કરીશું જેથી અમે તેનું નિરીક્ષણ કરી શકીએ.

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

છેલ્લી ફાઈલ જે આપણે જોવાની જરૂર છે તે નિયમો છે , જ્યાં ડેબેલર સ્ક્રિપ્ટ્સની શક્તિ જોઇ શકાય છે. નિયમોનો ડેબેલર સંસ્કરણ અંશે નાનું છે ("નિયમો" તરીકે ઓળખાતા વિભાગના 72 રેખાઓ વિરુદ્ધ 54 લીટીઓ).

ડેબેલર સંસ્કરણ આના જેવું દેખાય છે:

#! / usr / bin / make -f પેકેજ = હેલ્લો-ડેબેલર સીસી = જીસીસી સીફ્લેગ્સ = -જી-વાલ ઇએફઇએક્સ (, $ (નોટસ્ટ્રિંગ નોટોપ, $ (DEB_BUILD_OPTIONS))) CFLAGS + = -O2 endif #export DH_VERBOSE = 1 સાફ : dh_testdir dh_clean rm -f બિલ્ડ - $ (બનાવવા) - એક ડિસ્ટક્લીન ઇન્સ્ટોલ: બિલ્ડ dh_clean dh_installdirs $ (બનાવવા) પ્રીફિક્સ = $ (CURDIR) / debian / $ (પેકેજ) / usr \ mandir = $ (CURDIR) / debian / $ (પેકેજ) / usr / share / man \ infodir = $ (CURDIR) / ડેબિયન / $ (પેકેજ) / usr / share / info \ install બિલ્ડ: ./configure --prefix = / usr $ (મેક) સીસી = "$ (સીસી) "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_gencontrol- એક dh_md5sums -a dh_builddeb -a બાઈનરી: બાઈનરી- indep બાઈનરી- કમાન .પાણી: દ્વિસંગી દ્વિસંગી - કમાન દ્વિસંગી - સંકેત શુધ્ધ ચોપડે

નોંધ કરો કે જો તમે જમણી નિર્દેશિકા ( dh_testdir ) માં ચકાસણી કરો છો, તો ખાતરી કરો કે તમે રુટ વિશેષાધિકારો ( dh_testroot ) સાથે પેકેજ બનાવી રહ્યા છો, દસ્તાવેજીકરણ ( dh_installdocs અને dh_installchangelogs ) ઇન્સ્ટોલ કરી રહ્યા છો, અને બિલ્ડ ( dh_clean ) પછી સફાઈ આપમેળે નિયંત્રિત થાય છે . હેલ્લો કરતા ઘણાં જટિલ પેકેજમાં કોઈ મોટી ફાઇલ નથી કારણ કે ડેવલપર સ્ક્રિપ્ટ્સ મોટા ભાગના કાર્યોને નિયંત્રિત કરે છે. ડેબેલર સ્ક્રિપ્ટ્સની સંપૂર્ણ સૂચિ માટે, કૃપા કરીને " ડિબ્રેપર સ્ક્રિપ્ટ્સની સૂચિ" નામના વિભાગને જુઓ. તેઓ તેમના સંબંધિત મેન પેજીસમાં પણ સારી રીતે દસ્તાવેજીકૃત થયા છે. ઉપરોક્ત નિયમો ફાઈલમાં ઉપયોગમાં લેવાતા દરેક સહાયક સ્ક્રિપ્ટ માટે મેન પેજ (તે સારી રીતે લખાયેલ છે અને લાંબી નથી) વાંચવા માટે તે ઉપયોગી છે.