Πιθανή βελτίωση στην εγκατάσταση.

Greek Forum
djemos
Site Admin
Posts: 676
Joined: 15 Apr 2016 06:03

Re: Πιθανή βελτίωση στην εγκατάσταση.

Post by djemos »

Αυτό γίνεται γενικότερα στο slackware. Δεν έχει να κάνει με το slackel και salix. Στο SLKBUILD για παράδειγμα για να έχεις ένα SLKBUILD και για 32 και 64βιτ αυτό γίνεται με τη μεταβλητή περιβάλλοντος LIBDIRSUFFIX. Στα 64bit θα είναι 64

Code: Select all

 ./configure --prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} --localstatedir=/var --sysconfdir=/etc --disable-static --build=$arch-slackware-linux 
Δεν χρειάζεται να αλλάζεις τα makefile. Αυτό το κάνει το SLKBUILD.
άλλο παράδειγμα με cmake

Code: Select all

cmake \
                -DCMAKE_C_FLAGS:STRING="$CFLAGS" \
                -DCMAKE_CXX_FLAGS:STRING="$CXXFLAGS" \
                -DCMAKE_BUILD_TYPE=Release \
                -DCMAKE_INSTALL_PREFIX=/usr \
                -DMAN_INSTALL_DIR=/usr/man \
                -DSYSCONF_INSTALL_DIR=/etc/kde \
                -DLIB_SUFFIX=${LIBDIRSUFFIX} \
Και δεν υπάρχουν πλέον static libs στο slackware. Δεν χρειάζονται πιά. (--disable-static)

Δεν ξέρω για πιο πρόγραμμα μιλάς αλλά πες μου πιο είναι και θα κάνω το SLKBUILD, για να κάνεις τη σύγκριση. Θα δείς πόσο πιο εύκολη κάνει τη μεταγλώττιση. Το κάνεις μια φορά και το χρησιμοποιείς συνέχεια. Απλά ξανατρέχεις το script αλλάζοντας μόνο την έκδοση και έχεις το νέο πακέτο.
djemos
Site Admin
Posts: 676
Joined: 15 Apr 2016 06:03

Re: Πιθανή βελτίωση στην εγκατάσταση.

Post by djemos »

Κι εγώ το live κατέβασα, αλλά το εγκατάστησα αμέσως με τον installer που έχεις βάλει έτοιμο στην επιφάνεια εργασίας. Δεν νομίζω ότι θα κατεβάσει κανείς το live για άλλο σοβαρό λόγο, εκτός βέβαια από περιέργεια, απλά για να δει πως δείχνει η διανομή
.
Συμφωνώ. Ομως το live μου έχει λύσει τα χέρια. Π.Χ. Tο προηγούμενο laptop HP 64 bit 2GB RAM ξαφνικά όταν μπούταρε δεν έδειχνε τις επιλογές του F1,F12 κλπ στη συνέχεια μπούταρε κανονικά και έδειχνε στην οθόνη τις πληροφορίες εκκίνησης του slackel. Κάτι έχει πάθει το vga στη motherboard μάλλον. Είναι πρόβλημα με τα HP.
Δηλαδή δεν μπορούσα να εγκαταστήσω τίποτε, ούτε windows ούτε linux. Ούτε να εχω 2-3 κλπ λειτουργικά αφού δεν μπορούσα να επιλέξω πιο να μπουτάρω. Μαύρη η οθόνη. Όταν τα τίναξε ο σκληρός δίσκος και έβαλα ένα παλιό 80GB δώρο ενός φίλου, έπρεπε να κάνω την εγκατάσταση.
Ετσι ξεκίνησα με το slackel live openbox. Στην αρχή δεν φαίνεται τίποτε απλά πάτησα το enter και όταν άρχισε να μπουτάρει τότε φαίνονται πράγματα στην οθόνη και κανονικά μπαίνει στο γραφικό περιβάλλον. Κάνω την εγκατάσταση του slackel openbox. Και δουλεύει κανονικά. Έχω ένα μόνο λειτουργικό αλλά κατά τα άλλα είναι χρήσιμο.

Είναι επίσης χρήσιμα το live να δοκιμάσεις αν τρέχει στο laptop ή pc, αν σου αρέσει γενικότερα πριν κάνεις την εγκατάσταση.
Papasot
Posts: 231
Joined: 13 May 2016 22:32
Location: Patras, Greece

Re: Πιθανή βελτίωση στην εγκατάσταση.

Post by Papasot »

djemos wrote:Και δεν υπάρχουν πλέον static libs στο slackware. Δεν χρειάζονται πιά. (--disable-static)
Στην περίπτωσή μου ψιλοχρειάζονται για την περίπτωση που στείλω demos σε κάποιον που δεν έχει απαραίτητα τις προαπαιτούμενες βιβλιοθήκες εγκατεστημένες - αν και αυτό παρακάμπτεται στέλνοντας απλά και τα *.so μαζί.
djemos wrote:Δεν ξέρω για πιο πρόγραμμα μιλάς αλλά πες μου πιο είναι και θα κάνω το SLKBUILD, για να κάνεις τη σύγκριση. Θα δείς πόσο πιο εύκολη κάνει τη μεταγλώττιση. Το κάνεις μια φορά και το χρησιμοποιείς συνέχεια. Απλά ξανατρέχεις το script αλλάζοντας μόνο την έκδοση και έχεις το νέο πακέτο.
Μιλούσα για τις δικές μου βιβλιοθήκες, όπου η εγκατάσταση δεν πρέπει να προϋποθέτει ότι ο άλλος έχει απαραίτητα Slackware σύστημα, αν και προφανώς θα ήθελα να ξέρω πως να φτιάξω και ένα πακέτο για Slackware. Θα κοιτάξω πως ακριβώς υλοποιείται το SLKBUILD του alure (που το χρειάζομαι κιόλας) απόψε το βράδυ και θα δούμε.
djemos
Site Admin
Posts: 676
Joined: 15 Apr 2016 06:03

Re: Πιθανή βελτίωση στην εγκατάσταση.

Post by djemos »

To alure είναι πρόγραμμα opensource που υπάρχει στο διαδίκτυο; Αν ναι γράψε το link.
Papasot
Posts: 231
Joined: 13 May 2016 22:32
Location: Patras, Greece

Re: Πιθανή βελτίωση στην εγκατάσταση.

Post by Papasot »

Μαλλον κάτι δεν καταλαβαίνω με το LIBDIRSUFFIX, δεν φαίνεται να είναι μεταβλητή περιβάλλοντος:

Code: Select all

pap[~]$ echo $LIBDIRSUFFIX

pap[~]$ getconf LIBDIRSUFFIX
getconf: Unrecognized variable `LIBDIRSUFFIX'
Τέλοσπάντων μην σε παιδεύω με ερωτήσεις, πιστεύω ότι θα βγάλω άκρη αργότερα απόψε το βράδυ, που θα έχω χρόνο να το ψάξω.
Last edited by Papasot on 15 May 2016 12:29, edited 2 times in total.
Papasot
Posts: 231
Joined: 13 May 2016 22:32
Location: Patras, Greece

Re: Πιθανή βελτίωση στην εγκατάσταση.

Post by Papasot »

djemos wrote:To alure είναι πρόγραμμα opensource που υπάρχει στο διαδίκτυο; Αν ναι γράψε το link.
http://kcat.strangesoft.net/alure.html

Τελευταία φορά που δοκίμασα να το μεταγλωττίσω δεν γινόταν γιατί έλειπε ένα #include σε κάποιο αρχείο. Για τον ίδιο λόγο δεν δούλευε και το αντίστοιχο SBo. Όταν πρόσθεσα το #include που έλειπε δούλεψε μια χαρά, αλλα δεν ήξερα πως να κάνω SLKBUILD και όπως είπα πριν, σαν γνήσιος προγραμματιστής δεν κράτησα σημειώσεις για το #include που έλειπε και πρέπει να το ξαναψάξω τώρα.

EDIT: Ίσως αξίζει τον κόπο να μπει το alure στα αποθετήρια. Βασικά το alure απλουστεύει πάρα πολύ την χρήση του freealut και OpenAL. Είναι για ήχο ότι είναι τα freeglut και GLU για γραφικά.
djemos
Site Admin
Posts: 676
Joined: 15 Apr 2016 06:03

Re: Πιθανή βελτίωση στην εγκατάσταση.

Post by djemos »

Από οτι είδα ψάχνοντας δεν υπάρχει το alure στις διανομές. Βρήκα κάτι στο gentoo, στο arch δεν το βρήκα. Στα slkbuilds.org δεν το βρήκα επίσης.
Οπότε το έψαξα λίγο για να δω πως ρυθμίζει που πάνε οι βιβλιοθήκες. Τις πήγαινε στο lib και στα 64bit. Η μεταβλητή που ρυθμίζει τη διαδρομή είναι η LIB_SUFFIX Οπότε στo SLKBUILD θέλει -DLIB_SUFFIX=${LIBDIRSUFFIX}
Το πακέτο είναι εδώ για 32 και 64bit
Αλλά και στα αποθετήρια του Slackel.

Code: Select all

sudo slapt-get -u
sudo slapt-get -i alure
Το δοκίμασα και δουλεύει τέλεια.
1. Για να παίξω το πρώτο track από το cd στο laptop

Code: Select all

alurecdplay -cd-device /dev/sr0 cdda://1
Να ακούσω ένα mp3 ή ogg
2.

Code: Select all

alureplay ~/Desktop/mp3/Ατακτη-\ Μαρκος\ Βαμβακαρης.mp3 
alureplay ~/Desktop/mp3/Μάρκος\ Βαμβακάρης\ -\ Μαύρα\ μάτια\ μαύρα\ φρύδια.ogg
3. Και για stream. Δεν κατάλαβα που διαφέρει αφού κάνει το ίδιο με το alureplay.

Code: Select all

alurestream ~/Desktop/mp3/reb/THE_BEST_ROCK/11\ -\ DIRE\ STRAITS\ -\ MONEY\ FOR\ NOTHING.mp3
Το πακέτο δεν έχει static βιβλιοθήκες. Αν τις θέλεις τότε κατέβασε το SLKBUILD και βάλτο σε ένα φάκελο π.χ. alure και άλλαξε τo -DBUILD_STATIC=OFF σε -DBUILD_STATIC=ON
και κατόπιν fakeroot slkbuild -X για να φτιάξεις το νέο πακέτο.

Τέλος μιας και πιάσαμε τα μουσικά έχω στείσει ένα live radio στο slackel openbox με icecast + mpd και όταν ανοίγω το laptop εκπέμπει ρεμπέτικο ή rock ανάλογα. Και όπου και αν είμαι εκτός σπιτιού τον ακούω όταν έχω χρόνο. http://ariadni.noip.me:8000/live Και αυτόματα τον βρίσκεις και στο http://www.shoutcast.com γράφοντας στο search ariadni ή στο exaile κάνοντας δεξί κλικ στο Icecast Radio -> αναζήτηση και γράφοντας ariadni.
Ο icecast server http://ariadni.noip.me:8000
Δοκίμασε πως ακούγεται. :)
Papasot
Posts: 231
Joined: 13 May 2016 22:32
Location: Patras, Greece

Re: Πιθανή βελτίωση στην εγκατάσταση.

Post by Papasot »

Το alure υπάρχει στο Sourcery, το βλέπω και από Slackel και από Salix. Δεν εγκαθίσταται όμως - τρέχα γύρευε τι έχουν κάνει στο SBo.

Το δικό σου πακέτο του alure δουλεύει άψογα. Όχι μόνο αυτό, αλλά με ώθησε να το ψάξω για να καταλάβω πως δουλεύει το αρχείο κειμένου SLKBUILD - όντως δεν είναι και τίποτα δύσκολο. Άνοιξα και το script του Γιώργου (/usr/bin/slkbuild) και κατάλαβα τι είναι αυτές οι μεταβλητές που ορίζονται στο SLKBUILD. Είδα επίσης ότι η μεταβλητή $LIBDIRSUFFIX ορίζεται στο script του Γιώργου (γιαυτό δεν την έβλεπα με echo $LIBDIRSUFFIX).
Να 'σαι καλά, με όλες αυτές τις πληροφορίες μπορώ τώρα να φτιάχνω πακέτα για Slackware. Κι έχω μπόλικα στην λίστα, με πρώτο και καλύτερο το "Worker" (filemanager για παλαιομοδίτες, τον οποίο χρησιμοποιώ δυο δεκαετίες και δεν τον αλλάζω). Υπάρχει στο SBo αλλά είναι σχετικά παλιότερη έκδοση.

Όπως είδες, το alure δεν είναι μόνο οι εντολές που βάζει στο /usr/bin (alureplay κλπ), είναι και ολόκληρο API - και αυτό ακριβώς με ενδιαφέρει. Το alure API όμως δεν είναι πολύ χρήσιμο από μόνο του, στην πράξη χρειάζεται και το freealut. Γιαυτό κατέβασα το freealut από το github, έψαξα τις ιδιαιτερότητες του cmake που έχει και έτσι έφτιαξα το αντίστοιχο SLKBUILD αρχείο.
Με sudo slkbuild -X έφτιαξα το αντίστοιχο πακέτο εγκατάστασης freealut-1.1-x86_64-1dj.txz, το εγκατέστησα με spkg -i και το έλεγξα στην πράξη με τις δικές μου βιβλιοθήκες (που χρησιμοποιούν το API του alure και του freealut για ήχο). Δούλεψε άψογα.
Αν το θέλεις στα "extra" αποθετήρια του Slackel, επισυνάπτω το SLKBUILD παρακάτω (έχω ήδη βάλει σαν $pkgrel το 1dj). Το αρχείο freealut-1.1-x86_64-1dj.dep (και το αντίστοιχο για 32 bit) θα πρέπει να είναι το ίδιο με του alure (δεν έχει επιπλέον εξαρτήσεις). Μπορώ επίσης να σου στείλω ολόκληρο το πακέτο - αν και η μεταγλώττιση του freealut είναι θέμα ελάχιστων δευτερολέπτων.

Όσο για το σταθμό σου, όχι μόνο ακούγεται άψογα (και από VLC), αλλά μερακλώθηκα κιόλας. Είναι ήδη bookmark στο VLC για καθημερινή χρήση. Το ένα τραγούδι καλύτερο από το άλλο. Μετά το γύρισες σε παλιό καλό rock και τώρα πάλι ρεμπέτικο. Άντε, θα μερακλωθούμε πάλι. :D

Ευχαριστώ για όλα.

Code: Select all

#Packager: Dimitris Tzemos <dijemos~at~gmail~dot~com>

pkgname=freealut
pkgver=1.1
pkgrel=1dj
source=("https://github.com/vancegroup/freealut/archive/master.zip")
url=https://github.com/vancegroup/freealut
docs=('COPYING')

slackdesc=\
(
#|-----handy-ruler------------------------------------------------------|
"freealut is a free implementation of OpenAL's ALUT standard."
"This is a slightly-updated version that contains an updated CMake"
"build system, and potentially other fixes over time."
""
"https://github.com/vancegroup/freealut"
)

build() {
        cd $SRC/freealut-master
        mkdir -p build
        cd build
        cmake -DCMAKE_INSTALL_PREFIX=/usr \
        -DLIB_SUFFIX=${LIBDIRSUFFIX} \
        -DCMAKE_BUILD_TYPE=Release \
        -DBUILD_EXAMPLES=OFF \
        -DBUILD_MORE_WARNINGS=OFF \
        -DBUILD_OPTIMIZATION=ON \
        -DBUILD_PROFILE=OFF \
        -DBUILD_STATIC=OFF \
        -DBUILD_TESTS=OFF \
        -DBUILD_USE_WERROR=OFF \
        -DBUILD_WARNINGS=OFF ..
        make -j $numjobs || exit 1
        make install DESTDIR=$PKG
        cd ..
}
djemos
Site Admin
Posts: 676
Joined: 15 Apr 2016 06:03

Re: Πιθανή βελτίωση στην εγκατάσταση.

Post by djemos »

Όταν φτιάχνεις ένα SLKBUILD ή αναλαμβάνεις κάποιο SLKBUILD πακέτου που κάποιος δεν το διαχειρίζεται πλέον, τότε βάζεις το δικό σου pkgrel. Οτι θέλεις. Και στη κορυφή πρώτη γραμμή γράφεις #Packager: Ονομα <email> ή #Maintainer Ονομα <email>
Έτσι θα φαίνονται τα πακέτα που έχεις κάνει. Έτσι είναι το σωστό. Οπότε θα φαίνονται τα δικά σου πακέτα στα αποθετήρια του slackel.
Εγώ έχω σε virtual box και τo slackel 32 bit. Ετσι φτιάχνω και τα πακέτα 32 bit.
Δεν μιλάω για το συγκεκριμένο πακέτο ποιο γρήγορα θα το κάνω από το να μου το στείλεις αφού έχω το δικό σου SLKBUILD και θα το ανεβάσω και αυτό στα αποθετήρια του slackel. Απλά επειδή κατεβαίνει από το github στο μέλλον αν αλλάξει το master που δεν είναι έκδοση αλλά ενημερώνεται, μπορεί να μην μεταγλωττίζεται. Σε αυτή τη περίπτωση υπάρχει ένας τρόπος να έχουμε το source του πακέτου στα αποθετήρια ώστε να μεταγλωττίζεται το πακέτο. Είναι απλό χρειάζεται απλά ένα script που έχω κάνει για να κατεβάζει το αρχείο σαν αρχείο έκδοσης. Θα επανέλθω αύριο.

Ευχαριστώ για το test του σταθμού. :-)
Papasot
Posts: 231
Joined: 13 May 2016 22:32
Location: Patras, Greece

Re: Πιθανή βελτίωση στην εγκατάσταση.

Post by Papasot »

djemos wrote:Όταν φτιάχνεις ένα SLKBUILD ή αναλαμβάνεις κάποιο SLKBUILD πακέτου που κάποιος δεν το διαχειρίζεται πλέον, τότε βάζεις το δικό σου pkgrel. Οτι θέλεις. Και στη κορυφή πρώτη γραμμή γράφεις #Packager: Ονομα <email> ή #Maintainer Ονομα <email>
Έτσι θα φαίνονται τα πακέτα που έχεις κάνει. Έτσι είναι το σωστό. Οπότε θα φαίνονται τα δικά σου πακέτα στα αποθετήρια του slackel.
Προφανώς κατάλαβα τι είναι η πρώτη γραμμή και το $packrel, απλά δεν βρήκα λόγο να την αλλάξω. Στο συγκεκριμένο πακέτο δεν έκανα και πολλά, πήρα το δικό σου για το alure και το άλλαξα ανάλογα με τις ιδιατερότητες του πακέτου, όπως φαίνονται στο αντίστοιχο CMakeLists.txt (π.χ. δεν έχει flag BUILD_SHARED αλλά μόνο BUILD_STATIC). Οποιοσδήποτε που ξέρει πως δουλεύει το cmake θα μπορούσε να το είχε κάνει, αρκεί να είχε την άκρη, που ήταν το δικό σου SLKBUILD.
djemos wrote:Εγώ έχω σε virtual box και τo slackel 32 bit. Ετσι φτιάχνω και τα πακέτα 32 bit.
Το έχω σε κανονικό υπολογιστή που είναι παλιός και είναι 32 bit, αν βοηθάει αυτό.
djemos wrote:Απλά επειδή κατεβαίνει από το github στο μέλλον αν αλλάξει το master που δεν είναι έκδοση αλλά ενημερώνεται, μπορεί να μην μεταγλωττίζεται. Σε αυτή τη περίπτωση υπάρχει ένας τρόπος να έχουμε το source του πακέτου στα αποθετήρια ώστε να μεταγλωττίζεται το πακέτο. Είναι απλό χρειάζεται απλά ένα script που έχω κάνει για να κατεβάζει το αρχείο σαν αρχείο έκδοσης.
Το ότι είναι στο github κι εμένα με πονήρεψε. Το πρόβλημα με το freealut είναι ότι οι αρχικοί developers βασικά εξαφανίστηκαν από την πιάτσα. Για πολύ καιρό δεν έβρισκες να κατεβάσεις το freealut πουθενά, αν και είναι για το OpenAL ό,τι είναι το freeglut για το OpenGL και καλύτερα. Το API του freeglut είναι πολύ χρήσιμο για εφαρμογές πολυμέσων, και ουσιαστικά χωρίς ανταγωνιστή (το αντίστοιχο API του VLC δυστυχώς δεν είναι καλό, άσε που είναι παραφορτωμένο με άχρηστα). Πάλι καλά που βρέθηκε κάποιος που είχε το freealut και αποφάσισε να το ξαναβγάλει, έστω και στο github.
Για να είμαι ειλικρινής, δεν μου αρέσει καθόλου το github, αλλά στην περίπτωση αυτή μάλλον δεν υπάρχει άλλη λύση.
djemos wrote:Ευχαριστώ για το test του σταθμού. :-)
Εγώ ευχαριστώ για το μεράκλωμα. Όπως είπα, είναι bookmark για καθημερινή χρήση. :lol:
Post Reply