Πακέτα που προσθέτουν μεταβλητές συστήματος.
Posted: 04 Aug 2017 13:44
Καλησπέρα Δημήτρη,
Αυτές τις μέρες έφτιαξα δύο πακέτα που χρειάζομαι (και ενδεχομένως και άλλοι), συγκεκριμένα το Maxima (computer algebra system) και το StumpWM (ελαφρύς tiling window manager, η συνέχεια του ratpoison). Και τα δύο εξαρτώνται από την Steel Bank Common Lisp (SBCL). To SBCL υπάρχει μεν στο SlackBuilds, αλλά είναι παλαιότερη έκδοση και δεν δουλεύει σωστά, γιατί αγνοεί το /usr/lib64 και βάζει βιβλιοθήκες στο /usr/lib ακόμα και αν το εγκαθιστάς σε 64-bit μηχάνημα. Το Slackel πακέτο που έφτιαξα για το SBCL λύνει το προβλημα, εγκαθιστώντας σωστά τις βιβλιοθήκες (στο usr/lib ή στο /usr/lib64, ανάλογα με το σύστημα).
Εδώ όμως έχω μια ερώτηση. Για να τρέξει το SBCL χρειαζεται μία μεταβλητή συστήματος, την SBCL_HOME. Ο πιο προφανής τρόπος για να δουλεύει σωστά το πακέτο μου (για κάθε χρήστη που θα το κατεβάσει) είναι να ορίζεται αυτή η νέα μεταβλητή, είτε στο /etc/profile, είτε σε script στο /etc/profile.d/sbcl.sh. Το ερώτημα είναι αν είναι αποδεκτό από το Slackel (και το Salix) να ορίζουν πακέτα νέα μεταβλητές συστήματος.
Προσωπικά πιστεύω ότι αν το πακέτο μου ορίζει την νέα μεταβλητή συστήματος προσθέτοντας ένα script στο /etc/profile.d δεν υπάρχει πρόβλημα, αφού αν αργότερα απεγκαταστήσεις το πακέτο θα διαγραφεί και το σχετικό script, και το σύστημα θα είναι όπως πριν (χωρίς δηλαδή κατάλοιπα). Επειδή όμως κανένα από τα πακέτα που έχω φτιάξει μέχρι τώρα δεν χρειαζόταν κάτι τέτοιο, πρέπει να σε ρωτήσω πριν προχωρήσω.
Αυτά και ελπίζω να αντέχεται η ζέστη στο Αγρίνιο (στην Πάτρα πάντως είναι χάλια αυτές τις μέρες).
Αυτές τις μέρες έφτιαξα δύο πακέτα που χρειάζομαι (και ενδεχομένως και άλλοι), συγκεκριμένα το Maxima (computer algebra system) και το StumpWM (ελαφρύς tiling window manager, η συνέχεια του ratpoison). Και τα δύο εξαρτώνται από την Steel Bank Common Lisp (SBCL). To SBCL υπάρχει μεν στο SlackBuilds, αλλά είναι παλαιότερη έκδοση και δεν δουλεύει σωστά, γιατί αγνοεί το /usr/lib64 και βάζει βιβλιοθήκες στο /usr/lib ακόμα και αν το εγκαθιστάς σε 64-bit μηχάνημα. Το Slackel πακέτο που έφτιαξα για το SBCL λύνει το προβλημα, εγκαθιστώντας σωστά τις βιβλιοθήκες (στο usr/lib ή στο /usr/lib64, ανάλογα με το σύστημα).
Εδώ όμως έχω μια ερώτηση. Για να τρέξει το SBCL χρειαζεται μία μεταβλητή συστήματος, την SBCL_HOME. Ο πιο προφανής τρόπος για να δουλεύει σωστά το πακέτο μου (για κάθε χρήστη που θα το κατεβάσει) είναι να ορίζεται αυτή η νέα μεταβλητή, είτε στο /etc/profile, είτε σε script στο /etc/profile.d/sbcl.sh. Το ερώτημα είναι αν είναι αποδεκτό από το Slackel (και το Salix) να ορίζουν πακέτα νέα μεταβλητές συστήματος.
Προσωπικά πιστεύω ότι αν το πακέτο μου ορίζει την νέα μεταβλητή συστήματος προσθέτοντας ένα script στο /etc/profile.d δεν υπάρχει πρόβλημα, αφού αν αργότερα απεγκαταστήσεις το πακέτο θα διαγραφεί και το σχετικό script, και το σύστημα θα είναι όπως πριν (χωρίς δηλαδή κατάλοιπα). Επειδή όμως κανένα από τα πακέτα που έχω φτιάξει μέχρι τώρα δεν χρειαζόταν κάτι τέτοιο, πρέπει να σε ρωτήσω πριν προχωρήσω.
Αυτά και ελπίζω να αντέχεται η ζέστη στο Αγρίνιο (στην Πάτρα πάντως είναι χάλια αυτές τις μέρες).