Συσκευασία με Debhelper
Σπουδαίος Απαιτήσεις: Οι απαιτήσεις από το τμήμα που ονομάζεται "Συσκευασία από το μηδέν" συν debhelper και dh-make Ως συσκευαστής, σπάνια θα δημιουργείτε πακέτα από το μηδέν, όπως έχουμε κάνει στην προηγούμενη ενότητα. Όπως μπορείτε να φανταστείτε, πολλά από τα καθήκοντα και τις πληροφορίες στο κανόνες αρχείο, για παράδειγμα, είναι κοινά για τα πακέτα. Για να κάνετε τη συσκευασία ευκολότερη και αποτελεσματικότερη, μπορείτε να τη χρησιμοποιήσετε debhelper για να βοηθήσει με αυτές τις εργασίες. Debhelper είναι ένα σύνολο σεναρίων Perl (με πρόθεμα με dh_) που αυτοματοποιούν τη διαδικασία δημιουργίας πακέτων. Με αυτά τα scripts, η δημιουργία ενός πακέτου του Debian γίνεται αρκετά απλή. Σε αυτό το παράδειγμα, θα χτίσουμε ξανά το πακέτο GNU Hello, αλλά αυτή τη φορά θα συγκρίνουμε το έργο μας με το Ubuntu hello-debhelper πακέτο. Και πάλι, δημιουργήστε έναν κατάλογο στον οποίο θα εργάζεστε: Στη συνέχεια, αποκτήστε το πακέτο πηγής Ubuntu: Όπως και το προηγούμενο παράδειγμα, το πρώτο πράγμα που πρέπει να κάνουμε είναι να αποσυσκευάσουμε το αρχικό (upstream) tarball. Αντί να αντιγράψετε την ανάντη μπάρα hello_2.1.1.orig.tar.gz όπως κάναμε και στο προηγούμενο παράδειγμα, θα αφήσουμε dh_make κάνουμε το έργο για μας. Το μόνο που πρέπει να κάνετε είναι να μετονομάσετε τον φάκελο προέλευσης έτσι ώστε να έχει τη μορφή
Για να δημιουργήσουμε την αρχική "debianization" της πηγής που θα χρησιμοποιήσουμε dh_make. Το dh_make θα σας ρωτήσει στη συνέχεια μια σειρά ερωτήσεων: Προσοχή Εκτελέστε μόνο dh_make -e μια φορά. Αν το εκτελέσετε πάλι αφού το κάνετε την πρώτη φορά, δεν θα λειτουργήσει σωστά. Αν θέλετε να την αλλάξετε ή να κάνετε κάποιο λάθος, αφαιρέστε τον κατάλογο προέλευσης και ξεκινήστε ξανά την προηγούμενη tarball. Στη συνέχεια, μπορείτε να μεταφέρετε στον κατάλογο προέλευσης και να προσπαθήσετε ξανά. Τρέξιμο dh_make -e κάνει δύο πράγματα: ο γεια σας το πρόγραμμα δεν είναι πολύ περίπλοκο και όπως έχουμε δει στην ενότητα "Συσκευασία από την αρχή", η συσκευασία δεν απαιτεί πολύ περισσότερα από τα βασικά αρχεία. Επομένως, ας αφαιρέσουμε το .πρώην αρχεία: Για γεια σας, δεν θα το κάνετε * Αδεια * Δείκτης οδηγού συσκευασίας του Ubuntu χρειάζομαι README.Debian (Αρχείο README για συγκεκριμένα θέματα του Debian, όχι το README του προγράμματος), dirs (χρησιμοποιηθηκε απο dh_installdirs για να δημιουργήσετε τους απαραίτητους καταλόγους), docs (χρησιμοποιηθηκε απο dh_installdocs για να εγκαταστήσετε την τεκμηρίωση του προγράμματος), ή πληροφορίες (χρησιμοποιηθηκε απο dh_installinfo για να εγκαταστήσετε το αρχείο πληροφοριών) στα αρχεία debian Ευρετήριο. Για περισσότερες πληροφορίες σχετικά με αυτά τα αρχεία, ανατρέξτε στο τμήμα που ονομάζεται αρχεία παράδειγμα dh_make. Σε αυτό το σημείο, θα πρέπει να έχετε μόνο changelog, compat, έλεγχος, πνευματική ιδιοκτησία, και κανόνες αρχεία στο debian Ευρετήριο. Από το τμήμα που ονομάζεται "Συσκευασία από το μηδέν", το μόνο αρχείο που είναι νέο είναι compat, το οποίο είναι ένα αρχείο που περιέχει το debhelper έκδοση (στην περίπτωση αυτή 4) που χρησιμοποιείται. Θα χρειαστεί να προσαρμόσετε το changelogελαφρώς σε αυτή την περίπτωση για να φανεί ότι το πακέτο αυτό ονομάζεται hello-debhelper και όχι μόνο γεια σας: Με τη χρήση debhelper, τα μόνα πράγματα που πρέπει να αλλάξουμε έλεγχος είναι το όνομα (αντικαθιστώντας γεια σας Για hello-debhelper) και την προσθήκη debhelper (> = 4.0.0) στο Build-Depends πεδίο για το πακέτο προέλευσης. Το πακέτο Ubuntu για hello-debhelper μοιάζει με: Μπορούμε να αντιγράψουμε το πνευματική ιδιοκτησία το αρχείο και το postinst και prerm scripts από το Ubuntu hello-debhelper επειδή δεν έχουν αλλάξει από την ενότητα που ονομάζεται "Συσκευασία από την αρχή". Θα αντιγράψουμε επίσης το κανόνες αρχείο ώστε να μπορέσουμε να το επιθεωρήσουμε. Το τελευταίο αρχείο που πρέπει να δούμε είναι κανόνες, όπου η ισχύς του debhelper μπορείτε να δείτε τα σενάρια. ο debhelper έκδοση του κανόνες είναι κάπως μικρότερο (54 γραμμές σε αντίθεση με 72 γραμμές στην έκδοση από το τμήμα που ονομάζεται "κανόνες"). ο debhelper η έκδοση μοιάζει με: touch build binary-indep: install # Δεν υπάρχουν αρχεία ανεξάρτητα από την αρχιτεκτονική που θα φορτωθούν # δημιουργήθηκαν από αυτό το πακέτο. Αν υπήρχαν κάποια θα γινόταν εδώ. binary-arch: εγκαταστήστε dh_testdir -a dh_testroot -a dh_installdocs -a ΝΕΑ dh_installchangelogs -a ΑλλαγήLog dh_strip -a dh_compress -a dh_fixperms -α dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -μια δυαδική: binary-indep δυαδική- arch .PHONY: δυαδικό δυαδικό-τόξο δυαδικό-indep καθαρό checkroot Παρατηρήστε ότι οι εργασίες όπως η δοκιμή αν βρίσκεστε στον σωστό κατάλογο (dh_testdir), βεβαιώνοντας ότι δημιουργείτε το πακέτο με προνόμια root (dh_testroot), εγκατάσταση τεκμηρίωσης (dh_installdocs και dh_installchangelogs) και καθαρισμός μετά την κατασκευή (dh_clean) χειρίζονται αυτόματα. Πολλά πακέτα πολύ πιο περίπλοκα από ό, τι γεια σας έχω κανόνες αρχεία όχι μεγαλύτερο, επειδή debhelper τα χειρόγραφα χειρίζονται τα περισσότερα από τα καθήκοντα. Για μια πλήρη λίστα debhelper σεναρίων, ανατρέξτε στην ενότητα με τίτλο "Λίστα debhelper scripts ", είναι επίσης καλά τεκμηριωμένα στις αντίστοιχες άνδρας σελίδες. Είναι μια χρήσιμη άσκηση για να διαβάσετε τη σελίδα του ανθρώπου (είναι καλά γραμμένη και όχι μακρά) για κάθε βοηθητικό σενάριο που χρησιμοποιήθηκε στα παραπάνω κανόνες αρχείο.