Snapcraft 2.19 wyczaruje lepsze paczki Snap
Jesteśmy świadkami walki o przetrwanie jednego z trzech głównych graczy oferujących rozwiązanie problemu „miliona paczek i ich zależności”. Choć bardziej na miejscu byłby termin „spopularyzowanie”, gdyż wygra ten kto zaistnieje w szerszej świadomości użytkowników. Paczki snap, flatpak i appimage muszą zatem skusić do siebie jak największą liczbę deweloperów, którzy użyją jednego z tych rozwiązań (a może i wszystkich?) do stworzenia uniwersalnej (między – dystrybucyjnej) paczki ze swoim dziełem w roli głównej. A przychylność deweloperów zdobędzie ten, kto po prostu ułatwi im życie i tworzenie wspomnianych paczek. Dlatego Canonical bardzo aktywnie postawił na rozwój swojego narzędzia Snapcraft – czyli kreatora paczek snap.
W przeciągu kilku tygodni (dni?) jesteśmy świadkami kolejnego wydania Snapcrafta – tym razem o numerze 2.19. To dobitnie świadczy o świadomości drużyny Marka Shuttlewortha, że tylko spójne i sensowne narzędzie jest w stanie utorować drogę na salony formatowi snap. I choć z wersji na wersję nie doświadczymy przełomowych funkcji, to praca nad paczkami snap nabiera wygodnego i mocno zautomatyzowanego charakteru. W wersji 2.19 wtyczka catkin zapewnia wsparcie dla kinetic, nodejs współpracuje z komendą run, wprowadzono polecenie sign-build do podpisywania paczek. Wprowadzono również komendy gated oraz validate.
Co ważne, narzędzie jest udostępniane zarówno dla obecnej wersji Ubuntu 16.04 (repozytorium xenial-updates) jak i nadchodzącej 16.10.
sudo apt update
sudo apt install snapcraft
sudo apt install snapcraft-examples
snapcraft --help
Jak poradzić sobie ze stworzeniem paczki snap? Najprościej będzie podążać za wskazówkami samouczka na stronie projektu.
Ciężko jest się na obecnym etapie spierać, który z trzech pretendentów jest rozwiązaniem lepszym. Historia pokazuje, że często zwycięża nie ten, kto ma ładne założenia programowe, ale ten, kto na żywo wciela w życie swoje koncepcje. Canonical może metodą prób i błędów, ale idzie do przodu. Snapcraft ma szanse maksymalnie zautomatyzować proces tworzenia paczek snap – i to właśnie ten argument może być przeważający dla sporej liczby wydawców celujących w rynek linuksowy.
Wygra ten, czyje paczki będą w istocie uniwersalne i przede wszystkim będą nadawały się do uruchomienia. Problemy z appimage (nie zawsze paczka się uruchomi, zależy to od tego co w niej zostało spaczkowane), problemy ze snapem (w ogóle nie chce działać jeśli to nie *buntu /i być może Debian/ i jest ściśle i bez sensu powiązany z systemd; swoją drogą po jakiego grzyba, to już tajemnica twórców)… Można robić najlepsze narzędzia do tworzenia paczek, ale jeśli stworzona paczka nie uruchomi się wszędzie, wówczas nici z “uniwersalnego” formatu paczek.
To prawda. Dziwne założenia w appimage, że jakieś podstawowe zależności są już w systemie czynią ten system paczek niewiele lepszym od standardowych debów czy rpmów.
Fochy snap na innych dystrybucjach niż *buntu, fochy flatpaka na innych distro niż Fedora… Kto wie, może potrzebny jest czwarty gracz, który wszystkich pogodzi 🙂
AppImage jest dokładnie taki, jakiego zrobisz. To twórca zakłada, że w systemie coś jest. I dzięki temu u mnie np. nie startuje żadna aplikacja AppImage zbudowana na podstawie Chromium (czy może lepiej Blinka). Wychodzi na to, że mam zbyt nowy system (lub brak jakiejś biblioteki). Gdyby to zostało poprawnie spakowane (fakt – miałoby rozmiar ogromny) to działałoby prawidłowo.
Spośród tych trzech formatów jedynie snap u mnie robi problemy (pomijam już tę nieszczęsną integrację z systemd, bez którego to w ogóle nie działa; bawi mnie przy tym “instrukcja” instalacji tego w Gentoo stworzona przez ludzi od Canonicala). Flatpak działa bardzo dobrze, choć też nie mam Fedory. Inna sprawa, że nie sprawdzałem tego na innych dystrybucjach niż Arch. Tu jednak mogę – z własnych obserwacji – jedynie stwierdzić:
– appimage – działa, gdy paczka jest prawidłowo skonstruowana, w odmiennym przypadku – nie działa,
– flatpak – wypróbowałem kilka (może kilkanaście) aplikacji i żadnych problemów z działaniem,
– snap – jedna wielka… 😀 w ogóle się nie uruchamia i sypał jakimiś głupimi błędami.
Istnieje możliwość, że AppImage działałby w każdej dystrybucji nawet, gdyby był “wadliwie”, czy “w niepełny sposób” spakowany, ale wówczas gdzieś musiałaby istnieć informacja, czego on potrzebuje, co należy w systemie mieć, by działało. Takiej informacji jednak brak.
Wydaje mi się, że przewagę zdobędzie ten format paczek, który jako pierwszy zaoferuje uniwersalne repozytorium dla wszystkich dystrybucji.
Ja ciągle na 14.04 i nie mam dostępu do tych formatów paczek. Kiedyś coś mi mignęło i pamiętam, że miałem wrażenie, że to zbyt skomplikowane wszystko jest.
Jako „niewtajemniczona” osoba, chciałbym aby te wszystkie paczki instalowały się i uruchamiały zwykłym dwuklikiem. Bo jak będzie niewygodne, to zostanę przy zwykłym repozytorium.
Przecież to już jest. I w zasadzie oferowane przez wszystkie te formaty. W przypadku flatpaka – zachowuje się to jak normalne repozytorium. W przypadku snapa – nie miałem możliwości sprawdzić. W przypadku AppImage – zachowuje się to nieco jak “sklep” znany choćby z Androida.
A ja nie rozumiem po co to komu. Do apt i yum-a przyzwyczaiłem się i uważam je za wszystko co można w tym temacie wymyślić. Instalować apkę, która w deb ma 40MB, a w snap/flat kilka GB jest dla mnie niezrozumiałe.
Zróbmy to-zlikwidujmy repozytoria we wszystkich dystrybucjach,i instalujmy paczki flat,snap,app…
Proletar,tfu,developerzy wszystkich dystrybucji,łączcie się!
Niech bezpieczeństwo będzie zależne od anonimowego twórcy czegośtam
I będziemy mieli windę.I najnowsze programy.
kto jest za?
A może najpierw niech Ubuntu wyczaruje działający telefon (smartfon)?
jak nie wiadomo o co chodzi,to chodzi o pieniądze.Cannonical chce wprowadzić własny system paczek aby go kontolować i na nim zarabiać.tyle.
Repozytoriów nie mogą w pełni kontrolować (choć była próba narzucenia opłat za repo z Cannonical),bo korzystaja z repo Debiana.A tak,za chwilę się okaże,że promocja i każdy Snap za 5zł…
W sklepie Ubuntu,rzecz jasna.
> A tak,za chwilę się okaże,że promocja i każdy Snap za 5zł…
> W sklepie Ubuntu,rzecz jasna.
Ale bzdura. Oczywiście że ostatecznie chodzi o pieniądze, ale te uzyskuje się w trochę bardziej subtelny sposób. Każdy chce przepchnąć jako standard swoje rozwiązanie, bo ma się nad nim kontrolę i dostosowuje się je do własnych potrzeb, nie trzeba iść na kompromisy. To daje przewagę i zmniejsza koszty.
“Zróbmy to-zlikwidujmy repozytoria we wszystkich dystrybucjach,i instalujmy paczki flat,snap,app…” jakby na to nie patrzeć do tego zmierza świat linuksa. Oczywiście repozytoria nie znikną, ale pozostaną po stronie developerskiej. Użytkownicy będą korzystać z core i właśnie flat, snap, app czy co tam powstanie 🙂