Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Να διαβασω αυτα που λετε αλλα πως θα βρω απαντηση σε αυτο ακριβως που ρωταω δεν γνωριζω.

Εχω συγκεκριμμενη ερωτηση και θελω συγκεκριμμενη απαντηση, πολλες φορες αλλα ψαχνεις και αλλα βρισκεις.

  • Απαντ. 67
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Δημοσ.

Πάντως ένα είναι το μόνο σίγουρο. Αν δεν ψάχνεις, δεν βρίσκεις....

 

Αλλά τι κάθομαι και λέω τώρα...

  • Like 1
Δημοσ.
Σκεφτομαι αυτή τη διάκριση:
Γράφεις ένα πρόγραμμα σε C. Για να τρέξει πρέπει να το κάνεις compile.
Γράφεις ένα πρόγραμμα σε shell (.sh). Για να τρέξει απλά το κάνεις "chmod +x" και το τρέχεις. <-- Αυτό δεν χρειάζεται compile
 
Αρα στην 1η περιπτωση βαζουμε μεσα στο pkgbuild(text file, pure bash?!) ως πληροφορια πηγης το compiled source(binary). Σωστα το λεω-καταλαβα ?
 
Στην 2η περιπτωση βαζουμε μεσα στο pkgbuild(text file, pure bash?!) ως πληροφορια πηγης σκετο το source(bash script ειναι). Σωστα το λεω-καταλαβα ?
 
 
Και στις 2 περιπτωσεις, πακεταρουμε τα ανωθεν αποτελεσματα σε μορφη πακετου σωστα?
Δημοσ.

Ξαναδιάβασε τα προηγούμενα post.

Στην πρώτη περίπτωση στο PKGBUILD θα βάλεις τις οδηγίες για το πως να γίνει το compile και να δημιουργηθεί το εκτελέσιμο. Κατ' ευθείαν binaries συμπεριλαμβάνονται σπάνια και συνήθως για κλειστό λογισμικό.

Δημοσ.

To PKGBUILD δεν τα κάνει compile, απλά γράφει που πρέπει να πάνε κατά την εγκατάσταση, περιγραφει τις εξαρτησεις τους, αν γινονται με καποιο αλλο πακετο conflict. Τετοια πραγματα. Precompiled ειναι ηδη κατα την ταπεινη μου γνωμη.

 

πχ, sudo pacman -S thunderbird-bin καθως και διαφορα αλλα πακετα που ειναι επισης ανοικτου κωδικα.

Δημοσ.

Το PKGBUILD δινει οδηγιες. Ειτε να κανει compile το source code (παραδειγμα), ειτε απλα να αντιγραψει ενα ετοιμο binary/shell script/κλπ (παραδειγμα)

 

Και παρεχει info για εξαρτησεις κλπ.

 

Εχω συγκεκριμμενη ερωτηση

Τα links που σου εδωσαν απαντανε συγκεκριμενα και ρητα.

  • Like 1
Δημοσ.

Σε ευχαριστω πολυ για το ξεκαθαρισμα.

 

Αρα εχουμε 3 περιπτωσεις:

 

source(C code) => makepkg (source code compilation + metadata for dependencies + conflict check) => pacman (package installation)

 

source(shell script) => makepkg (bash shell copy directive + metadata for dependencies + conflict check) => pacman (package installation)

 

source(binary) => makepkg (binary copy directive + metadata for dependencies + conflict check) => pacman (package installation)

 

Συμφωνουμε?

Δημοσ.

Κοινως:

Οτιδηποτε απο AUR->makepkg->pacman

Τωρα η πηγη μπορει να ειναι οτιδηποτε (source code, script, ετοιμο binary, πακετο απο αλλη διανομη, σκετα fonts, το δεξι μου π@@ρι κλπ κλπ)

 

Το PKGBUILD δινει τις καταλληλες οδηγιες για την δημιουργια του πακετου. 

 

Δηλαδη θες να φτιαξεις πακετο στο arch: Πρεπει να φτιαξεις PKGBUILD.

 

Αυτα για το AUR.

 

Τωρα για τα κανονικα repos:

 

Official repos->pacman (αφου ειναι ετοιμο το πακετο, προς εγκατασταση)

 

Νταξ, τα ξεκαθαρισαμε?

Δημοσ.

Μου αρεσει ο τροπος που σκεφτεσαι! Το εννοω, εχεις εναν υπερ-απλουστεθτικο τροπο σκεψης ενω εγω ο μ.....ς τεινω να περιπλεκω τα πραγματα!

 

Για το AUR τα ξεκαθαρισμαε τελεια! (η τελευταια πηγη με εκαν επραγματικα και γελασα και ξεαγχωθηκα)

 

Στην περιπτωση τωρα των επισημων αποθετηριων:

 

απουσιαζει το makepkg γιατι ηδη το εχουν δημιουργησει το πακετο οι Arch Develpopers, οι οποιοι ειναι και οι mainteners του, σωστα?

 

Η πηγη ενος επισημου πακετου μπορει να ειναι ΤΙ ΑΚΡΙΒΩΣ? ΟΤΙ ΚΑΙ ΣΤΟ AUR ή μονο ετοιμο binary(compiled source δηλαδη) ?

Δημοσ.

απουσιαζει το makepkg γιατι ηδη το εχουν δημιουργησει το πακετο οι Arch Develpopers, οι οποιοι ειναι και οι mainteners του, σωστα?

Ναι, υπαρχει ηδη το πακετο. Απλα το περνας με τον pacman.

 

Η πηγη ενος επισημου πακετου μπορει να ειναι ΤΙ ΑΚΡΙΒΩΣ? ΟΤΙ ΚΑΙ ΣΤΟ AUR ή μονο ετοιμο binary(compiled source δηλαδη) ?

Ξανα, οτιδηποτε.

 

Η σειρα ειναι:

 

πηγη (οτιδηποτε) -> PKGBUILD/makepkg -> πακετο -> pacman

 

Απλα στο AUR ξεκινας την διαδικασια απτο makepkg, για να φτιαξεις το πακετο πρωτα.

 

Στα κανονικα repos υπαρχουνε ετοιμα τα πακετα (καποιος εκανε το PKGBUILD/makepkg για να το εχεις ετοιμο)

  • Like 1
Δημοσ.

Μαλιστα! Πολυ ωραια εξηγηση!

 

Και οταν λεμε την φραση "precompiled package"? Τι ακριβως εννουμε?

 

Οταν παω να το σκεφτω ελληνικα πχ μεταγλωτιμσνεο πακετο δεν βγαζω νοημα!

Το νοημα για παραδειγμ απου θα εβγαζα αν ελεγα μεταγλωτισμενος πηγαιος κωδικας C++, αυτο μαλιστα!

Δημοσ.

Λεμε precompiled το πακετο γιατι ηδη εχει χτιστει/δημιουργηθει (περασε την διαδικασια του PKGBUILD/makepkg)

 

Πακετα που δεν εχουν χτιστει/δημιουργηθει ακομα ειναι στο aur, στα οποια τρεχεις εσυ το makepkg.

 

Φυσικα ενα ετοιμο (precompiled) πακετο ειναι προφανες* οτι περιεχει και μεταγλωτισμενο τον κωδικα του ταδε προγραμματος μεσα, ετοιμο προς εγκατασταση.

 

 

 

 

*ελπιζω/προσδοκω οτι ειναι...

Δημοσ.

Mαλιστα!

 

Αρα με αλλα λογια οταν εχεις:

 

μοναχο του το PKGBUILD ειναι εν δυναμει πακετο. (σκετο το  bash script του PKGBUILD δηλαδη πριν το makepkg)

precompiled ειναι το το παραπανω οταν εχει περασει την διαδικασια του makepkg.

 

 

Αρα οταν ακουω σκετη την λεξη πακετο να καταλαβαινω μονο το αρχειο οδηγιων δημιουργιας πακετου, ενω μονο οταν ακουω την λεξη precompiled να καταλαβαινω οτι εχει υποστει makepkg σωστα?

 

 

Nαι ειναι προφανες οτι αφου εχει περασει την διαδικασια του makepkg καi εφοσον η πηγη του ηταν πηγαιος κωδικας(π.χ C++) εχει μεταγλωτισθει κιoλας.

 

αν ομως η πηγη του ηταν bash shell script or python script, τοτε δεν υπαρχει η εννοια της μεταγλωτισης εντος, σωστα?

 

 

υ.γ: Οσο πιο πολυ το δουλεευω στο μυαλο μου τοσο πιο πολυ τεινω να αντιλαμβανομαι το πακετο ως ειδους container.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...