三大雲平台工具升級 + awscli 指令補齊小記
Bzip2 1.0.7 is released
Bzip2 1.0.7 has been released by Mark Wielaard. We have a slight change of plans since my last post:
-
The 1.0.x series is in strict maintenance mode and will not change build systems. This is targeted towards embedded use, as in projects which already embed the bzip2-1.0.6 sources and undoubtedly patch the build system. Right now this series, and the tagged 1.0.7 release, live in the sourceware repository for bzip2.
-
The 1.1.x series has Meson and CMake build systems, and a couple of extra changes to modernize the C code but which were not fit for the 1.0.7 release. This is targeted towards operating system distributions. This lives in the master branch of the gitlab repository for bzip2.
Distros and embedded users should start using bzip2-1.0.7 immediately. The patches they already have for the bzip2's traditional build system should still apply. The release includes bug fixes and security fixes that have accumulated over the years, including the new CVE-2019-12900.
Once 1.1.0 is released, distributions should be able to remove their patches to the build system and just start using Meson or CMake. You may want to monitor the 1.1.0 milestone — help is appreciated fixing the issues there so we can make the first release with the new build systems!
Blathering | Raspberry Pi to Monitor Air Quality with an Arduino based Thermostat
Puppy Linux | Review from an openSUSE User
Snapshot Control | More openSUSE Tumbleweed Awesomeness
Εγκατάσταση του Unity 3D στο openSUSE (ισχύει και σε άλλες διανομές)
Το Unity 3D είναι ίσως η δημοφιλέστερη μηχανή κατασκευής παιχνιδιών. Για "προσωπική χρήση" και ειδικότερα για το ξεκίνημά σας παρέχεται δωρεάν, αρκεί τα ετήσια κέρδη να μην υπερβαίνουν τα $100 χιλ. Το παραπάνω έχει μια λογική διότι η εταιρία επιτρέπει τον κάθε χρήστη να χρησιμοποιήσει την πλατφόρμα της, να δημιουργήσει ένα παιχνίδι με βάση το πρόγραμμα Unity 3D και εάν αυτό είναι είναι επιτυχημένο, τότε προτρέπει στην αγορά της άδειας χρήσης. Εάν ο δημιουργός έχει έσοδα 100.000$, τότε δεν θα έχει πρόβλημα να πληρώνει 125$ το μήνα (ήτοι 1500$ το χρόνο).
Στην αρχική σελίδα, επιλέγοντας Personal, θα σας βγάλει στην ιστοσελίδα των λήψεων. Εδώ μπορεί να βρείτε εκδόσεις μόνο για windows και macosx. Οπότε καλύτερα επισκεφθείτε το forum και από εκεί κατεβάστε το Unity Hub για Linux.
Το Unity Hub είναι μια αυτόνομη εφαρμογή που συγκεντρώνει όλα τα απαραίτητα για να δημιουργήσετε το δικό σας παιχνίδι. Πάμε να δούμε πως γίνεται η εγκατάσταση.
1. Αφού κατεβάσατε το Unity Hub για Linux, πρέπει να το κάνετε εκτελέσιμο. Πατήστε δεξί πλήκτρο>Ιδιότητες και στην καρτέλα δικαιώματα, επιλέξτε το Να επιτρέπεται η εκτέλεση του αρχείου ως πρόγραμμα.
2. Διπλό κλικ πάνω στο αρχείο. Θα ερωτηθείτε εάν συμφωνείτε με την άδεια χρήσης:
Ενώ στη συνέχεια θα ερωτηθείτε εάν θέλετε να προστεθεί στο μενού.
Η αλήθεια είναι ότι όταν το εγκατέστησα δεν μου το πρόσθεσε. Κάθε φορά το άνοιγα με διπλό κλικ στο αρχείο. Εναλλακτικά μπορείτε να το εισάγετε με το menulibre ή με τερματικό:
Δημιουργήστε ένα αρχείο unity3d.desktop στο /usr/share/applications (ή ~/.local/share/applications ή κατευθείαν στο ~/Desktop) με τον παρακάτω κώδικα:
Encoding=UTF-8
Name=Unity 3D
Exec=/path/to/unity/executable
Icon=/path/to/unity/icon
Type=Application
Categories=Development;
Θα αλλάξετε μόνο τα:
Exec=/path/to/unity/executable (εκεί που βρίσκεται το appimage)
Icon=/path/to/unity/icon (εκεί που βρίσκεται το εικονίδιο της εφαρμογής)
3. Μόλις ανοίξει, θα σας ζητήσει άδεια χρήσης. Προφανώς έχετε την προσωπική χρήση, οπότε απλά δεν σας ενδιαφέρει για τώρα.
Πατήστε επάνω δεξιά για να εισέλθετε (εάν έχετε λογαριασμό) ή να δημιουργήσετε νέο λογαριασμό.
Εάν δεν έχετε, πατήστε Create one. Αλλιώς εισάγετε τα όνομα χρήστη και συνθηματικό.
Αφού εισέλθετε θα δείτε τα στοιχεία σας επάνω δεξιά.
4. Μετακινούμαστε στην οθόνη των Projects.
Εδώ θεωρητικά πατάμε το Add και ξεκινάμε νέο έργο για κατασκευή παιχνιδιού. Όμως δεν είναι ακόμα εγκατεστημένο το Unity 3D. Οπότε πρέπει να πατήσουμε στο Installs.
5. Στο Installs, πατάμε το Add.
Τώρα θα μας ρωτήσει ποια έκδοση Unity θέλουμε να εγκαταστήσουμε.
Αφού επιλέξουμε την έκδοση, θα πρέπει να επιλέξουμε και κάποια πρόσθετα. Ανάλογα για ποια πλατφόρμα θέλετε να έχετε διαθέσιμο το παιχνίδι, εγκαθιστάτε τα ανάλογα πρόσθετα.
Όταν τελειώστε, πρέπει να περιμένετε, ανάλογα με την ταχύτητα του δικτύου σας.
Παρόμοια διαδικασία ακολουθείται και στις άλλες διανομές.
Εσείς έχετε φτιάξει κάποιο παιχνίδι; Αν ναι, αφήστε σχόλιο να το δοκιμάσουμε.
Les nouveaux Node.js LTS, débogueur GNU et libvirt débarquent dans les instantanés Tumbleweed
Les trois instantanés openSUSE Tumbleweed publiés cette semaine ont mis à jour certains paquets clés pour les utilisateurs de cette version en publication continue.
Un de ces paquets clés était une mise à jour du débogueur GNU, gdb 8.3, publié dans l'instantané 20190607. Le débogueur a activé les tests ada sur les plate-formes ppc64le et riscv64. Les versions multitarget pour riscv64 ont également été activées. L'instantané a également ajouté les tests unitaires pour Logical Volume Manager (LVM) sur disque modulaire (MD) avec la mise à jour de libstorage-ng 4.1.127. Plusieurs correctifs et corrections de bogues ont été appliqués avec la mise à jour de libvirt 5.4.0, ce qui a également permis d'améliorer les liens statiques inutiles, qui entraînait à la fois l'encombrement du disque et de la mémoire. Libvirt a également introduit le support du bit md-clear CPUID. Le package python-libvirt-python 5.4.0 a ajouté la nouvelle interface de programmation (API) et des constantes dans libvirt 5.4.0. L’éditeur de texte vim 8.1.1467 présentait de multiples correctifs, mais l’instantané Tumbleweed a introduit de nouveaux bogues et affiche actuellement une cote de 86, selon le commentateur d’instantané.
Les deux instantanés précédents ont enregistré une note exceptionnelle exceptionnelle de 98 selon le relecteur d’instantané (http://review.tumbleweed.boombatower.com/).
L'instantané 20190606 n'a mis à jour que deux paquets. Le paquet nodejs10 a mis en place une nouvelle version amont à support à long terme (LTS) avec nodejs10 10.16.0 et une mise à jour des sources d'openssl et libuv en version 1.28.0. L'autre mise à jour importante du paquet dans l'instantané était xfdesktop en 4.12.5; ce package pour Xfce 4 a corrigé la taille des icônes dans les paramètres, réinitialisé l'ordre des icônes du bureau et corrigé une [fuite de timer](https://bugzilla.xfce.org /show_bug.cgi?id=13887).
L'instantané 20190605 comportait trois packages mis à jour. Le noyau Linux 5.1.7 avait quelques corrections concernant Btrfs telles que la correction de l'état interne avec un périphérique de stockage situé entre fsync et l'écriture différée des plages adjacentes. La mise à jour du noyau a également supprimé les dépendances avec les éléments internes du pilote arch_timer pour l'architecture arm et ajouté la prise en charge d'Ice Lake au sein de la gestion d'alimentation [x86] d'Intel. Les fuseaux horaires ont été mis à jour avec le package libical 3.0.5 et le package libinput 1.13.2 a apporté des modifications à la prise en charge des pavés tactiles Wacom et Apple Bluetooth.
Le responsable des publications, Dominique Leuenberger, a rédigé un compte rendu des deux semaines précédentes et a déclaré qu'openssl 1.1.1c, Texlive 2019, KDE Plasma 5.16, Qt 5.13, LLVM 8, swig 4.0 et cmake 3.14 progressaient tous dans la file d'attente et seraient bientôt disponibles dans les prochains instantanés de Tumbleweed.
Tags: opensuse
KDE Plasma 5.16 on openSUSE Tumbleweed | Pretty Great
Preparing the bzip2-1.0.7 release
ATTENTION ALL DISTRIBUTIONS: this is for you. THE SONAME MAY CHANGE!
I am preparing a bzip2-1.0.7 release. You can see the release notes, which should be of interest:
-
Many historical patches from various distributions are integrated now.
-
We have a new fix for the just-published CVE-2019-12900, courtesy of Albert Astals Cid.
-
Bzip2 has moved to Meson for its preferred build system, courtesy of Dylan Baker. For special situations, a CMake build system is also provided, courtesy of Micah Snyder.
What's with the soname?
From bzip2-1.0.1 (from the year 2000), until bzip2-1.0.6 (from 2010),
release tarballs came with a special
Makefile-libbz2_so to generate a shared library
instead of a static one.
This never used libtool or anything; it specified linker flags by hand. Various distributions either patched this special makefile, or replaced it by another one, or outright replaced the complete build system for a different one.
Some things to note:
-
This hand-written
Makefile-libbz2_soused a link line like$(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.6. This means, make the DT_SONAME field inside the ELF file belibbz2.so.1.0(note the two digits in1.0), and make the filename of the shared library belibbz2.so.1.0.6. -
Fedora patched the soname in a patch called "saneso" to just be
libbz2.so.1. -
Stanislav Brabec, from openSUSE, replaced the hand-written makefiles with autotools, which meant using libtool. It has this interesting note:
Incompatible changes:
soname change. Libtool has no support for two parts soname suffix (e. g. libbz2.so.1.0). It must be a single number (e. g. libbz2.so.1). That is why soname must change. But I see not a big problem with it. Several distributions already use the new number instead of the non-standard number from Makefile-libbz2_so.
(In fact, if I do objdump -x /usr/lib64/*.so | grep SONAME, I see
that most libraries have single-digit sonames.)
In my experience, both Fedora and openSUSE are very strict, and correct, about obscure things like library sonames.
With the switch to Meson, bzip2 no longer uses libtool. It will have
a single-digit soname — this is not in the meson.build yet, but
expect it to be there within the next couple of days.
I don't know what distros which decided to preserve the 1.0 soname
will need to do; maybe they will need to patch meson.build on their
own.
Fortunately, the API/ABI are still exactly the same. You can preserve the old soname which your distro was using and linking libbz2 will probably keep working as usual.
(This is a C-only release as usual. The Rust branch is still experimental.)











