{"id":37830,"date":"2019-10-31T22:20:00","date_gmt":"2019-10-31T19:20:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/koe-chto-eshhe-pakety-prilozhenij-haiku\/"},"modified":"2019-10-31T22:20:00","modified_gmt":"2019-10-31T19:20:00","slug":"koe-chto-eshhe-pakety-prilozhenij-haiku","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku","title":{"rendered":"N\u00e5got mer: Haiku-apppaket?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"N\u00e5got mer: Haiku-apppaket?\" src=\"\/wp-content\/uploads\/2019\/09\/90604411e96ca7ef7b2d7dccac374d4e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>TL;DR<\/strong>: kan Haiku f\u00e5 ordentligt st\u00f6d f\u00f6r apppaket, till exempel applikationskataloger (som <code>.*.app<\/code> i Mac) och\/eller applikationsavbilder (Linux <code>AppImage<\/code>)? Jag tror att det skulle vara ett v\u00e4rdefullt till\u00e4gg som \u00e4r l\u00e4ttare att implementera \u00e4n i andra system, eftersom merparten av infrastrukturen redan finns.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/461141\/\">F\u00f6r en vecka sedan<\/a><\/noindex> uppt\u00e4ckte jag Haiku, ett ov\u00e4ntat bra system. Och eftersom jag l\u00e4nge har varit intresserad av kataloger och avbilder f\u00f6r appar (inspirerad av enkelheten hos Macintosh), \u00e4r det inte konstigt att jag kom att t\u00e4nka p\u00e5 en id\u00e9...<\/p>\n<p><\/p>\n<p>F\u00f6r full f\u00f6rst\u00e5else: jag \u00e4r skaparen och f\u00f6rfattaren av AppImage, ett format f\u00f6r distribution av Linux-appar som fokuserar p\u00e5 Mac-enkelhet och ger full kontroll till appf\u00f6rfattare och slutanv\u00e4ndare (vill du veta mer - se. <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/AppImage\">wiki<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.appimage.org\/\">dokumentationen<\/a><\/noindex>).<\/p>\n<p><\/p>\n<h2 id=\"chto-esli-my-sdelaem-appimage-dlya-haiku\">Vad h\u00e4nder om vi g\u00f6r AppImage f\u00f6r Haiku?<\/h2>\n<p><\/p>\n<p>L\u00e5t oss t\u00e4nka lite, rent teoretiskt: vad beh\u00f6vs f\u00f6r att f\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/appimage.org\/\">AppImage<\/a><\/noindex>, eller n\u00e5got liknande, p\u00e5 Haiku? Det \u00e4r inte n\u00f6dv\u00e4ndigt att skapa n\u00e5got just nu, eftersom systemet som redan finns i Haiku fungerar otroligt bra, men den f\u00f6rest\u00e4llda experimentet skulle vara intressant. Det skulle ocks\u00e5 visa p\u00e5 finheten i Haiku, i kontrast till Linux-skrivbordsmilj\u00f6er d\u00e4r s\u00e5dana saker \u00e4r fruktansv\u00e4rt sv\u00e5ra (jag har r\u00e4tt att s\u00e4ga s\u00e5: jag har k\u00e4mpat med det i 10 \u00e5r).<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5got mer: Haiku-apppaket?\" src=\"\/wp-content\/uploads\/2019\/09\/f72209cb7c70702e614729f3b250c1b8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>I Macintosh System 1 var varje applikation en separat fil, &#171;hanterad&#187; i Finder. Med AppImage f\u00f6rs\u00f6ker jag \u00e5terskapa samma anv\u00e4ndarupplevelse p\u00e5 Linux.<\/em><\/p>\n<p><\/p>\n<p>F\u00f6rst och fr\u00e4mst, vad \u00e4r AppImage? Det \u00e4r ett system f\u00f6r att publicera applikationer fr\u00e5n tredjepartsutvecklare (till exempel, <noindex><a rel=\"nofollow\" href=\"https:\/\/ultimaker.com\/software\/ultimaker-cura\">Ultimaker Cura<\/a><\/noindex>), vilket g\u00f6r att applikationer kan sl\u00e4ppas n\u00e4r och hur de vill: de beh\u00f6ver inte k\u00e4nna till olika distributions specifikationer, byggpolicyer eller bygginfrastruktur, de beh\u00f6ver inte st\u00f6dja uppdateringar och de s\u00e4ger inte till anv\u00e4ndarna vad som (inte) kan installeras p\u00e5 deras datorer. T\u00e4nk p\u00e5 AppImage som n\u00e5got liknande ett paket f\u00f6r Mac i formatet <code>.*.app<\/code> inuti diskl\u00e4get <code>.dmg<\/code>. Den st\u00f6rsta skillnaden \u00e4r att applikationerna inte kopieras, utan f\u00f6rblir inuti AppImage permanent, ungef\u00e4r som Haiku-paketen <code>.hpkg<\/code> monteras, och installeras aldrig i den vanliga bem\u00e4rkelsen.<\/p>\n<p><\/p>\n<p>AppImage har under sina mer \u00e4n 10 \u00e5r av existens blivit ganska attraktiv och popul\u00e4r: Linus Torvalds har offentligt godk\u00e4nt den, och popul\u00e4ra projekt (som LibreOffice, Krita, Inkscape, Scribus, ImageMagick) har anammat den som sitt huvudsakliga s\u00e4tt att distribuera kontinuerliga eller nattliga byggen utan att st\u00f6ra anv\u00e4ndarnas installerade eller icke-installerade program. Dock tenderar arbetsmilj\u00f6er och Linux-distributioner ofta att h\u00e5lla fast vid den traditionella, centraliserade distributionsmodellen baserad p\u00e5 f\u00f6ljande och\/eller fr\u00e4mjar sina egna f\u00f6retags- och\/eller ingenj\u00f6rsprogram baserade p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Flatpak\">Flatpak<\/a><\/noindex> (RedHat, Fedora, GNOME) och <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Snappy_%28%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8%29\">Snappy<\/a><\/noindex> (Canonical, Ubuntu). Det blir <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.gnome.org\/hughsie\/2019\/07\/12\/gnome-software-in-fedora-will-no-longer-support-snapd\/\">snart l\u00f6jligt<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"kak-vse-rabotaet\">Hur allt fungerar<\/h3>\n<p><\/p>\n<ul>\n<li>Varje AppImage inneh\u00e5ller 2 delar: en liten k\u00f6rbar ELF-fil som kan k\u00f6ras genom dubbelklick (kallad <code>runtime.c<\/code>), f\u00f6ljt av en filsystemavbildning <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/SquashFS\">SquashFS<\/a><\/noindex>.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5got mer: Haiku-apppaket?\" src=\"\/wp-content\/uploads\/2019\/09\/c48bdc61fb08cdd9d2a2be10d4cfa5a5.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<ul>\n<li>SquashFS-filsystemet inneh\u00e5ller nyttolasten i form av applikationen och allt som beh\u00f6vs f\u00f6r att k\u00f6ra den, vilket inte rimligt kan betraktas som en del av standardinstallationen f\u00f6r varje n\u00e5gorlunda ny m\u00e5lsystem (Linux-distribution). Den inneh\u00e5ller ocks\u00e5 metadata, till exempel applikationsnamn, ikoner, MIME-typer och s\u00e5 vidare.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5got mer: Haiku-apppaket?\" src=\"\/wp-content\/uploads\/2019\/09\/57285196436aaa5468f544942b39a608.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<ul>\n<li>Vid k\u00f6rning anv\u00e4nder runtime FUSE och squashfuse f\u00f6r att montera filsystemet, varefter det hanterar k\u00f6rningen av en viss ing\u00e5ngspunkt (s\u00e5 kallad AppRun) inuti den monterade AppImage.<br \/>\nFilsystemet avmonteras efter att processen har avslutats.<\/li>\n<\/ul>\n<p><\/p>\n<p>Det verkar alla \u00e4r enkla.<\/p>\n<p><\/p>\n<p>Men dessa saker g\u00f6r allt mer komplicerat:<\/p>\n<p><\/p>\n<ul>\n<li>Med en s\u00e5dan m\u00e5ngfald av Linux-distributioner kan man inte l\u00e4ngre kalla n\u00e5got f\u00f6r &#171;en del av standardinstallationen f\u00f6r varje ny m\u00e5lbild&#187; i sitt fulla sinne. Vi l\u00f6ser detta problem genom att bygga <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/AppImage\/pkg2appimage\/blob\/master\/excludelist\">excludelist<\/a><\/noindex>, som m\u00f6jligg\u00f6r att definiera vad som ska packas in i AppImage och vad som beh\u00f6ver h\u00e4mtas n\u00e5gon annanstans. Ibland missar vi dock m\u00e5let, trots att allt fungerar utm\u00e4rkt. Av den anledningen rekommenderar vi paketproducenter att testa AppImages p\u00e5 alla m\u00e5lsystem (distributioner).<\/li>\n<li>Applikationer n\u00e4r det g\u00e4ller utrymmesnyttja b\u00f6r vara flyttbara i filsystemet. Tyv\u00e4rr har m\u00e5nga applikationer h\u00e5rdkodade absoluta s\u00f6kv\u00e4gar till resurser i <code>\/usr\/share<\/code>. Det m\u00e5ste \u00e5tg\u00e4rdas p\u00e5 n\u00e5got s\u00e4tt. Ut\u00f6ver detta m\u00e5ste antingen exportera <code>LD_LIBRARY_PATH<\/code>, eller fixa <code>rpath<\/code> s\u00e5 att bootloadern kan hitta de relaterade biblioteken. Den f\u00f6rsta metoden har sina nackdelar (som hanteras med komplicerade metoder), medan den andra \u00e4r helt enkelt otymplig.<\/li>\n<li>Den st\u00f6rsta UX-f\u00e4llan f\u00f6r anv\u00e4ndare \u00e4r att de m\u00e5ste <noindex><a rel=\"nofollow\" href=\"https:\/\/discourse.appimage.org\/t\/how-to-run-an-appimage\/80\">ange exekveringsbit<\/a><\/noindex> till AppImage-filen efter nedladdning. Tro det eller ej, men f\u00f6r vissa \u00e4r detta en verklig barri\u00e4r. Behovet av att s\u00e4tta en k\u00f6rbar bit \u00e4r otympligt \u00e4ven f\u00f6r erfarna anv\u00e4ndare. Som en l\u00f6sning f\u00f6reslog vi att installera en liten tj\u00e4nst som \u00f6vervakar AppImage-filer och s\u00e4tter en k\u00f6rbar bit p\u00e5 dem. I sin renaste form \u00e4r det inte den b\u00e4sta l\u00f6sningen, eftersom det inte fungerar &#171;ur l\u00e5dan&#187;. Linux-distributioner levererar inte denna tj\u00e4nst, vilket g\u00f6r att anv\u00e4ndare har det &#171;ur l\u00e5dan&#187; riktigt besv\u00e4rligt.<\/li>\n<li>Linux-anv\u00e4ndare f\u00f6rv\u00e4ntar sig att den nya applikationen ska ha en ikon i startmenyn. Man kan inte s\u00e4ga till systemet: &#171;Titta, d\u00e4r \u00e4r en ny applikation, l\u00e5t oss b\u00f6rja arbeta&#187;. Ist\u00e4llet, enligt XDG-specifikationen, m\u00e5ste man kopiera filen <code>.desktop<\/code> till r\u00e4tt plats i <code>\/usr<\/code> f\u00f6r systeminstallation, eller i <code>$HOME<\/code> f\u00f6r individuell installation. Ikoner av specifika storlekar, enligt XDG-specifikationen, beh\u00f6ver placeras p\u00e5 specifika st\u00e4llen i <code>usr<\/code> eller <code>$HOME<\/code>, varefter man m\u00e5ste k\u00f6ra kommandon i arbetsmilj\u00f6n f\u00f6r att uppdatera ikonkatalogen, eller hoppas att skrivbordsmilj\u00f6f\u00f6rvaltaren f\u00f6rst\u00e5r och automatiskt uppt\u00e4cker allt. P\u00e5 samma s\u00e4tt med MIME-typer. Som en workaround f\u00f6resl\u00e5s att anv\u00e4nda samma tj\u00e4nst som f\u00f6rutom att st\u00e4lla in exekveringsbiten kommer att kopiera ikoner och annat fr\u00e5n AppImage till r\u00e4tt platser enligt XDG. Vid borttagning eller flytt f\u00f6rv\u00e4ntas tj\u00e4nsten st\u00e4da upp allt. Sj\u00e4lvklart finns det skillnader i beteende mellan olika skrivbordsmilj\u00f6er, i format f\u00f6r grafiska filer, deras storlekar, lagringsplatser och s\u00e4tt att uppdatera kataloger, vilket skapar problem. Kort sagt, den h\u00e4r metoden \u00e4r en n\u00f6dl\u00f6sning.<\/li>\n<li>Om inget av ovanst\u00e5ende \u00e4r tillr\u00e4ckligt, s\u00e5 finns det inte ens en AppImage-ikon i filhanteraren. I Linuxv\u00e4rlden har man fortfarande inte kommit fram till en l\u00f6sning f\u00f6r att inf\u00f6ra elficon (trots att det har varit en <noindex><a rel=\"nofollow\" href=\"https:\/\/wiki.kubuntu.org\/ELFIconSpec\">diskussion<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/pld-linux\/elficon\">om implementering)<\/a><\/noindex>), s\u00e5 det \u00e4r om\u00f6jligt att integrera ikonen direkt i applikationen. S\u00e5 det visar sig att applikationerna i filhanteraren inte har egna ikoner (oavsett om det \u00e4r AppImage eller n\u00e5got annat), de finns endast i startmenyn. Som en workaround anv\u00e4nder vi miniatyrer \u2014 en mekanism som ursprungligen utvecklades f\u00f6r att skrivbordshanterare skulle kunna visa reducerade bilder f\u00f6r f\u00f6rhandsvisning av grafiska filer som deras ikoner. D\u00e4rf\u00f6r fungerar tj\u00e4nsten f\u00f6r att s\u00e4tta k\u00f6rbar bit ocks\u00e5 som &#171;miniatyriserare&#187;, skapar och skriver miniatyrikoner p\u00e5 r\u00e4tt st\u00e4llen. <code>\/usr<\/code> och <code>$HOME<\/code>. Dessutom utf\u00f6r denna tj\u00e4nst st\u00e4dning om AppImage tas bort eller flyttas. Eftersom varje skrivbordshanterare beter sig n\u00e5got olika, till exempel i vilka format de accepterar ikoner, i vilka storlekar eller platser, \u00e4r detta verkligen besv\u00e4rligt.<\/li>\n<li>Applikationen kraschar bara vid exekvering om det uppst\u00e5r fel (till exempel finns det ett bibliotek som inte \u00e4r en del av det grundl\u00e4ggande systemet och inte levereras i AppImage), och ingen informerar anv\u00e4ndaren i GUI:et om vad som egentligen h\u00e4nder. Vi har b\u00f6rjat kringg\u00e5 detta genom att anv\u00e4nda <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.gnome.org\/notification-spec\/\">meddelanden<\/a><\/noindex> p\u00e5 skrivbordet, vilket inneb\u00e4r att vi beh\u00f6ver f\u00e5nga upp fel fr\u00e5n kommandoraden, omvandla dem till anv\u00e4ndarv\u00e4nliga meddelanden som sedan m\u00e5ste visas p\u00e5 skrivbordet. Och naturligtvis hanterar varje arbetsmilj\u00f6 dem lite annorlunda.<\/li>\n<li>F\u00f6r n\u00e4rvarande (september 2019, \u2014 anm. \u00f6vers. ) har jag inte hittat ett enkelt s\u00e4tt att s\u00e4ga till systemet att filen <code>1.png<\/code> ska \u00f6ppnas med Krita, och <code>2.png<\/code> \u2014 med GIMP.<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5got mer: Haiku-apppaket?\" src=\"\/wp-content\/uploads\/2019\/09\/347e54772a7312e27c83fef68be98e66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Platsen f\u00f6r lagring av cross-desktop specifikationer som anv\u00e4nds i <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/GNOME\">GNOME<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/KDE\">KDE<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Xfce\">Xfce<\/a><\/noindex> \u00e4r freedesktop.org <\/em><\/p>\n<p><\/p>\n<p>Att uppn\u00e5 en niv\u00e5 av f\u00f6rfining som \u00e4r djupt intrasslad i arbetsmilj\u00f6n Haiku \u00e4r f\u00f6rsv\u00e5rat, om inte om\u00f6jligt, p\u00e5 grund av specifikationerna <noindex><a rel=\"nofollow\" href=\"https:\/\/www.freedesktop.org\/wiki\/\">XDG fr\u00e5n freedesktop.org<\/a><\/noindex> f\u00f6r cross-desktop, samt implementationerna av skrivbordshanterare baserade p\u00e5 dessa specifikationer. Som exempel kan vi n\u00e4mna en allm\u00e4n ikon f\u00f6r Firefox: tydligen har inte XDG:s skapare ens t\u00e4nkt p\u00e5 att anv\u00e4ndaren kan ha flera versioner av samma applikation installerad.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5got mer: Haiku-apppaket?\" src=\"\/wp-content\/uploads\/2019\/09\/d9743766c183f78e68a2669b09aa48d9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Ikoner f\u00f6r olika versioner av Firefox<\/em><\/p>\n<p><\/p>\n<p>Jag var nyfiken p\u00e5 vad v\u00e4rlden av Linux skulle kunna l\u00e4ra sig av Mac OS X, f\u00f6r att undvika misslyckanden vid systemintegration. Om du har tid och arbetar med s\u00e5dant \u2013 l\u00e4s absolut vad Arno Gourdol, en av de f\u00f6rsta ingenj\u00f6rerna bakom Mac OS X, hade att s\u00e4ga:<\/p>\n<p><\/p>\n<blockquote><p>Vi ville att installationen av applikationen skulle vara lika enkelt som att dra applikationsikonen fr\u00e5n n\u00e5gonstans (server, extern enhet) till din dators h\u00e5rddisk. F\u00f6r detta har applikationspaketet sparat all information, inklusive ikoner, version, behandlad filtyp och den URL-schema typ som systemet beh\u00f6ver k\u00e4nna till f\u00f6r att bearbeta applikationen. Informationen f\u00f6r 'centraliserad lagring' i databasen f\u00f6r Ikon-tj\u00e4nster och Starttj\u00e4nster ing\u00e5r ocks\u00e5 h\u00e4r. F\u00f6r att st\u00f6dja prestandan f\u00f6r applikationen 'uppt\u00e4ckts' p\u00e5 flera 'v\u00e4lk\u00e4nda' platser: i system- och anv\u00e4ndarkatalogen f\u00f6r Applikationer, samt automatiskt i vissa andra om anv\u00e4ndaren navigerar till katalogen som inneh\u00e5ller applikationen i Finder. I praktiken har detta fungerat mycket bra.<\/p><\/blockquote>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/qQsnqWJ8D2c\">https:\/\/youtu.be\/qQsnqWJ8D2c<\/a><\/noindex><br \/>\n<em>Apple WWDC 2000 session 144 \u2013 Mac OS X: paketering av applikationer och utskrift av dokument.<\/em><\/p>\n<p><\/p>\n<p>Det finns inget liknande i denna infrastruktur f\u00f6r Linux arbetsmilj\u00f6er, s\u00e5 vi letar efter l\u00f6sningar f\u00f6r de strukturella begr\u00e4nsningarna i AppImage-projektet.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5got mer: Haiku-apppaket?\" src=\"\/wp-content\/uploads\/2019\/09\/a2550cb690d92d1aeb4fccff7e7fa57b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Skynda Haiku till hj\u00e4lp?<\/em><\/p>\n<p><\/p>\n<p>Och dessutom: plattformar av Linux som grund f\u00f6r arbetsmilj\u00f6er \u00e4r oftast s\u00e5 underdefinierade att m\u00e5nga saker som \u00e4r ganska enkla i ett konsekvent system med fullst\u00e4ndig stack, frustrerar med sin fragmentering och komplexitet i Linux. Jag \u00e4gnade en hel presentation \u00e5t fr\u00e5gorna kring Linux-plattformar f\u00f6r arbetsmilj\u00f6er (kunniga utvecklare bekr\u00e4ftade: det kommer att f\u00f6rbli s\u00e5 v\u00e4ldigt l\u00e4nge fram\u00f6ver).<\/p>\n<p>\n<center><div class=\"youtube-placeholder\" data-id=\"SQ8OXf7o6UA\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/SQ8OXf7o6UA\/hqdefault.jpg\" alt=\"Spela video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p><em>Mitt f\u00f6redrag om problem med Linux arbetsmilj\u00f6er 2018<\/em><\/p>\n<p><\/p>\n<p>\u00c4ven Linus Torvalds erk\u00e4nde att det var p\u00e5 grund av fragmenteringen som id\u00e9n om arbetsmilj\u00f6er misslyckades.<\/p>\n<p><\/p>\n<p>Det \u00e4r trevligt att se Haiku!<\/p>\n<p><\/p>\n<h2 id=\"s-haiku-vse-stanovitsya-potryasayusche-prostym\">Med Haiku blir allt fantastiskt enkelt<\/h2>\n<p><\/p>\n<p>\u00c4ven om en naiv metod f\u00f6r att 'portera' AppImage till Haiku inneb\u00e4r att enkelt f\u00f6rs\u00f6ka bygga (i huvudsak runtime.c och tj\u00e4nsten) dess komponenter (vilket kanske till och med \u00e4r m\u00f6jligt!), kommer det inte att ge mycket nytta f\u00f6r Haiku. F\u00f6r de flesta av dessa problem \u00e4r p\u00e5 Haiku faktiskt redan l\u00f6sta och konceptuellt motiverade. Haiku erbjuder just de byggstenar f\u00f6r systeminfrastrukturen som jag s\u00e5 l\u00e4nge har letat efter i Linux-milj\u00f6er och inte kunnat tro att de inte fanns d\u00e4r. Det handlar om:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5got mer: Haiku-apppaket?\" src=\"\/wp-content\/uploads\/2019\/09\/29f583bd24bd06cd67311a5087243639.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Tro det eller ej, men detta \u00e4r n\u00e5got som m\u00e5nga Linux-anv\u00e4ndare inte kan \u00f6vervinna. P\u00e5 Haiku g\u00f6rs allt automagiskt!<\/em><\/p>\n<p><\/p>\n<ul>\n<li>ELF-filer utan exekveringsbit f\u00e5r det automatiskt vid dubbelklick i filhanteraren.<\/li>\n<li>Applikationer kan ha inbyggda resurser, till exempel ikoner, som visas i filhanteraren. Det beh\u00f6vs ingen kopiering av massor av bilder till speciella kataloger med ikoner, och d\u00e4rf\u00f6r beh\u00f6ver man inte st\u00e4da upp dem efter borttagning eller flytt av applikationen.<\/li>\n<li>Det finns en databas f\u00f6r att koppla applikationer med dokument, det beh\u00f6vs ingen kopiering av filer f\u00f6r detta.<\/li>\n<li>Bland mappen lib\/ letas bibliotek per standard vid sidan av den exekverbara filen.<\/li>\n<li>Det finns inte m\u00e5nga distributioner och skrivbordsmilj\u00f6er, allt som fungerar \u2013 fungerar \u00f6verallt.<\/li>\n<li>Det finns ingen separat modul f\u00f6r k\u00f6rning, som skiljer sig fr\u00e5n katalogen Applications.<\/li>\n<li>Applikationerna har inga inbyggda absoluta s\u00f6kv\u00e4gar till sina resurser, det finns speciella funktioner f\u00f6r att best\u00e4mma plats under exekvering.<\/li>\n<li>Id\u00e9n med komprimerade filsystembilder har inf\u00f6rlivats: det \u00e4r varje pakethpkg. Alla monteras av k\u00e4rnan.<\/li>\n<li>Varje fil \u00f6ppnas av den applikation som skapade den, om inget annat uttryckligen anges. Vad h\u00e4ftigt det \u00e4r!<\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5got mer: Haiku-apppaket?\" src=\"\/wp-content\/uploads\/2019\/09\/335fedea2cc70e9d9e0c8f3dbcd41560.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Tv\u00e5 png-filer. Observera de olika ikonerna som visar att de kommer att \u00f6ppnas med olika applikationer med ett dubbelklick. Observera ocks\u00e5 rullgardinsmenyn '\u00d6ppna med:' d\u00e4r anv\u00e4ndaren kan v\u00e4lja en specifik applikation. S\u00e5 enkelt!<\/em><\/p>\n<p><\/p>\n<p>Det verkar som att m\u00e5nga av de l\u00f6sningar och genv\u00e4gar som AppImage beh\u00f6ver p\u00e5 Linux blir on\u00f6diga p\u00e5 Haiku, som har enkelhet och sofistikering i sin grund och d\u00e4rf\u00f6r klarar av de flesta av v\u00e5ra behov.<\/p>\n<p><\/p>\n<h2 id=\"nuzhny-li-haiku-pakety-prilozheniy-v-konce-koncov\">Beh\u00f6ver Haiku applikationspaket, till slut?<\/h2>\n<p><\/p>\n<p>Det leder till en stor fr\u00e5ga. Om det skulle vara betydligt enklare att skapa ett system liknande AppImage p\u00e5 Haiku \u00e4n p\u00e5 Linux, borde man d\u00e5 satsa p\u00e5 det? Eller har Haiku med sitt paketssystem hpkg i praktiken eliminerat behovet av att utveckla en s\u00e5dan id\u00e9? F\u00f6r att svara p\u00e5 detta beh\u00f6ver vi se p\u00e5 motivationen bakom existensen av AppImages.<\/p>\n<p><\/p>\n<h3 id=\"vzglyad-so-storony-polzovatelya\">En anv\u00e4ndares perspektiv<\/h3>\n<p><\/p>\n<p>L\u00e5t oss titta p\u00e5 v\u00e5r slutanv\u00e4ndare:<\/p>\n<p><\/p>\n<ul>\n<li>Jag vill installera ett program utan att beh\u00f6va ange administrat\u00f6rsl\u00f6senord (root). <em>P\u00e5 Haiku finns inget begrepp f\u00f6r en administrat\u00f6r; anv\u00e4ndaren har full kontroll eftersom det \u00e4r ett personligt system!<\/em> (Man kan i princip t\u00e4nka sig detta i en fleranv\u00e4ndarmilj\u00f6; jag hoppas att utvecklarna bevarar enkelheten)<\/li>\n<li>Jag vill f\u00e5 de senaste och b\u00e4sta versionerna av applikationer, utan att v\u00e4nta p\u00e5 att de ska dyka upp i min distribution (vilket oftast betyder 'aldrig', \u00e5tminstone om jag inte uppdaterar hela operativsystemet). <em>P\u00e5 Haiku \u00e4r detta 'l\u00f6st' med hj\u00e4lp av flytande utg\u00e5vor. Det inneb\u00e4r att det finns m\u00f6jlighet att f\u00e5 de senaste och b\u00e4sta versionerna av applikationer, men f\u00f6r detta m\u00e5ste man kontinuerligt uppdatera resten av systemet, vilket i praktiken g\u00f6r det till ett 'r\u00f6rligt m\u00e5l'.<\/em>.<\/li>\n<li>Jag vill ha flera versioner av samma program bredvid varandra, eftersom man aldrig vet vad som kan ha g\u00e5tt fel i den senaste versionen, eller, som webbutvecklare, beh\u00f6ver jag testa mitt arbete med olika versioner av webbl\u00e4sare. <em>I Haiku \u00e4r det f\u00f6rsta problemet l\u00f6st, men inte det andra. Uppdateringar kan rullas tillbaka, men bara f\u00f6r hela systemet; det \u00e4r om\u00f6jligt (s\u00e5vitt jag vet) att k\u00f6ra flera versioner av WebPositive eller LibreOffice samtidigt.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p>En av utvecklarna skriver:<\/p>\n<p><\/p>\n<blockquote><p>I grund och botten \u00e4r motiveringen att anv\u00e4ndningsscenariet \u00e4r s\u00e5 s\u00e4llsynt att det inte \u00e4r meningsfullt att optimera f\u00f6r det; att hantera det som ett specialfall i HaikuPorts verkar mer \u00e4n acceptabelt.<\/p><\/blockquote>\n<p><\/p>\n<ul>\n<li>Jag beh\u00f6ver kunna spara program d\u00e4r jag vill, inte p\u00e5 startdisken. P\u00e5 mina diskar tar ofta utrymmet slut, s\u00e5 jag m\u00e5ste koppla in en extern disk eller en n\u00e4tverkskatalog f\u00f6r att lagra program (alla versioner som jag har laddat ner). Om jag kopplar in en s\u00e5dan disk m\u00e5ste programmen kunna startas med dubbelklick. <em>Haiku sparar gamla versioner av paket, men jag vet inte hur jag kan flytta dem till en extern disk, eller hur jag sedan kan starta program fr\u00e5n d\u00e4r.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p>Utvecklarens kommentar:<\/p>\n<p><\/p>\n<blockquote><p>Tekniskt sett \u00e4r det redan m\u00f6jligt med mount-kommandot. Naturligtvis kommer vi att skapa ett GUI f\u00f6r detta s\u00e5 snart tillr\u00e4ckligt m\u00e5nga intresserade anv\u00e4ndare finns.<\/p><\/blockquote>\n<p><\/p>\n<ul>\n<li>Jag vill inte ha miljontals filer spridda \u00f6ver filsystemet som jag sj\u00e4lv inte kan hantera manuellt. Jag vill ha en fil per applikation som jag l\u00e4tt kan ladda ner, flytta eller ta bort. <em>I Haiku har detta problem l\u00f6sts genom paket <code>.hpkg<\/code>, som samlar exempelvis python, fr\u00e5n tusentals filer till en. Men om det finns, till exempel, Scribus, som anv\u00e4nder python, m\u00e5ste jag hantera minst tv\u00e5 filer. Och jag m\u00e5ste se till att jag beh\u00e5ller versioner som fungerar tillsammans.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5got mer: Haiku-apppaket?\" src=\"\/wp-content\/uploads\/2019\/09\/94ccb9d0b693b7411946b432f3d2f347.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>M\u00e5nga versioner av AppImages som k\u00f6rs bredvid varandra p\u00e5 samma Linux<\/em><\/p>\n<p><\/p>\n<h3 id=\"vzglyad-so-storony-razrabotchika-prilozheniy\">Perspektiv fr\u00e5n en applikationsutvecklare<\/h3>\n<p><\/p>\n<p>L\u00e5t oss se ur ett applikationsutvecklarperspektiv:<\/p>\n<p><\/p>\n<ul>\n<li>Jag vill ha full kontroll \u00f6ver anv\u00e4ndarupplevelsen. Jag vill inte vara beroende av operativsystemet som s\u00e4ger till mig n\u00e4r och hur jag ska sl\u00e4ppa applikationer. <em>P\u00e5 Haiku kan utvecklare arbeta med sina egna hpkg-repositorier, men det inneb\u00e4r att anv\u00e4ndarna m\u00e5ste st\u00e4lla in dem manuellt, vilket g\u00f6r denna id\u00e9 'mindre attraktiv'.<\/em><\/li>\n<li>Jag har en nedladdningssida p\u00e5 min webbplats d\u00e4r jag distribuerar <code>.exe<\/code> f\u00f6r Windows, <code>.dmg<\/code> f\u00f6r Mac och <code>.AppImage<\/code> f\u00f6r Linux. Och kanske vill jag monetisera tillg\u00e5ngen till denna sida, vad som helst kan h\u00e4nda? Vad beh\u00f6ver jag l\u00e4gga d\u00e4r f\u00f6r Haiku? <em>Tillr\u00e4ckligt med en fil <code>.hpkg<\/code> med beroenden som bara kommer fr\u00e5n HaikuPorts.<\/em><\/li>\n<li>Min programvara beh\u00f6ver specifika versioner av annan programvara. Till exempel \u00e4r det k\u00e4nt att Krita beh\u00f6ver en korrigerad version av Qt, eller Qt som \u00e4r exakt anpassad f\u00f6r en viss version av Krita, \u00e5tminstone tills korrigeringarna kommer tillbaka i Qt. <em>Jag kan paketera min egen Qt f\u00f6r applikationen i paketet <code>.hpkg<\/code>, men det kommer troligen inte att v\u00e4lkomnas.<\/em><\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5got mer: Haiku-apppaket?\" src=\"\/wp-content\/uploads\/2019\/09\/7dcb146d08ebd570899d0d73b6517faa.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>En vanlig nedladdningssida f\u00f6r applikationen. Vad ska jag l\u00e4gga h\u00e4r f\u00f6r Haiku?<\/em><\/p>\n<p><\/p>\n<p>Kommer kit (som finns i form av programkataloger som AppDir eller <code>.*.app<\/code> i Apple-stil) och\/eller avbildningar (i form av starkt modifierade AppImages eller <code>.dmg<\/code> \u00e4r en anv\u00e4ndbar till\u00e4gg f\u00f6r arbetsmilj\u00f6n Haiku fr\u00e5n Apple? Eller kommer det att bryta den helhetsbild och leda till fragmentering, vilket i sin tur g\u00f6r det mer komplicerat? Jag \u00e4r kluven: \u00e5 ena sidan, sk\u00f6nheten och elegansen i Haiku bygger p\u00e5 att det oftast finns ett s\u00e4tt att g\u00f6ra n\u00e5got, inte flera. \u00c5 andra sidan \u00e4r en stor del av infrastrukturen f\u00f6r kataloger och\/eller applikationspaket redan p\u00e5 plats, s\u00e5 systemet anropar att \u00e4ven de kvarst\u00e5ende procenten f\u00e5r sina platser.<\/p>\n<p><\/p>\n<p>Enligt utvecklaren <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/u\/f103a52f4b96?source=post_page-----1803a11f9748----------------------\">mr. waddlesplash<\/a><\/noindex><\/p>\n<p><\/p>\n<blockquote><p>P\u00e5 Linux \u00e4r de (<em>kataloger och applikationspaket, anm. \u00f6vers\u00e4ttaren<\/em>) f\u00f6rmodligen en teknisk l\u00f6sning p\u00e5 systemproblem. P\u00e5 Haiku f\u00f6redrar vi att bara l\u00f6sa systemproblemen.<\/p><\/blockquote>\n<p><\/p>\n<h2 id=\"a-vy-chto-dumaete\">Vad tycker du?<\/h2>\n<p><\/p>\n<h3 id=\"prezhde-chem-otvetite\">Innan du svarar...<\/h3>\n<p><\/p>\n<p>V\u00e4nta, l\u00e5t oss g\u00f6ra en snabb verklighetskontroll: i praktiken <em>applikationskataloger<\/em> \u00e4r redan en del av Haiku:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"N\u00e5got mer: Haiku-apppaket?\" src=\"\/wp-content\/uploads\/2019\/09\/b9d3c8ce130d256bc645bd2ee28905a7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Applikationskataloger finns redan p\u00e5 Haiku, men st\u00f6ds \u00e4nnu inte i filhanteraren.<\/em><\/p>\n<p><\/p>\n<p>De st\u00f6ds helt enkelt inte lika bra som till exempel i Macintosh Finder. Hur coolt skulle det inte vara om katalogen f\u00f6r QtCreator hade namnet och ikonen \u2018QtCreator\u2019 i \u00f6vre v\u00e4nstra h\u00f6rnet, som startar applikationen med ett dubbelklick?<\/p>\n<p><\/p>\n<p>Tidigare har jag redan <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@probonopd\/historic-software-can-your-package-manager-handle-this-86563a46f8b5\">fr\u00e5gat<\/a><\/noindex>:<\/p>\n<p><\/p>\n<blockquote><p>\u00c4r du s\u00e4ker p\u00e5 att du kommer att kunna k\u00f6ra dina tio\u00e5riga applikationer idag, n\u00e4r alla applikationsbutiker och distributionslager har gl\u00f6mt bort dem och deras beroenden? \u00c4r du s\u00e4ker p\u00e5 att du fortfarande kommer att kunna komma \u00e5t ditt nuvarande arbete i framtiden?<\/p><\/blockquote>\n<p>Har Haiku redan ett svar, eller kan kataloger och applikationspaket hj\u00e4lpa till h\u00e4r? Jag tror att de kan.<\/p>\n<p><\/p>\n<p>Enligt mr. waddlesplash:<\/p>\n<p><\/p>\n<blockquote><p>Ja, vi har svaret p\u00e5 fr\u00e5gan: vi kommer bara att st\u00f6dja dessa applikationer s\u00e5 l\u00e4nge det beh\u00f6vs, tills n\u00e5gon kan l\u00e4sa deras filformat p\u00e5 r\u00e4tt s\u00e4tt eller s\u00e4kerst\u00e4lla funktionalitet i ett till ett. V\u00e5r str\u00e4van att st\u00f6dja BeOS R5-applikationer p\u00e5 Haiku \u00e4r ett direkt bevis p\u00e5 detta...<\/p><\/blockquote>\n<p>Det st\u00e4mmer!<\/p>\n<p><\/p>\n<h3 id=\"kakoy-plan-deystviy-dolzhna-prinyat-haiku\">Vilken handlingsplan b\u00f6r Haiku f\u00f6lja?<\/h3>\n<p><\/p>\n<p>Jag kan f\u00f6rest\u00e4lla mig ett fredligt samexisterande av hpkg, kataloger och applikationsbilder:<\/p>\n<p><\/p>\n<ul>\n<li>Systemprogramvaran anv\u00e4nder <code>.hpkg<\/code><\/li>\n<li>F\u00f6r den mest frekvent anv\u00e4nda programvaran (s\u00e4rskilt f\u00f6r de som beh\u00f6ver planera flytande sl\u00e4pp) anv\u00e4nds <code>.hpkg<\/code> (ungef\u00e4r 80% av alla fall)<\/li>\n<li>Vissa program, installerade via <code>.hpkg<\/code>, kommer att gynnas av att g\u00e5 \u00f6ver till en infrastruktur med applikationskataloger (till exempel QtCreator): de kommer att distribueras som <code>.hpkg<\/code>, precis som tidigare.<\/li>\n<\/ul>\n<p><\/p>\n<p>mr. waddlesplash skriver:<\/p>\n<p><\/p>\n<blockquote><p>Om allt som beh\u00f6vs \u00e4r att visa applikationer i <code>\/system\/apps<\/code>, ist\u00e4llet b\u00f6r katalogerna i Deskbar g\u00f6ras mer hanterbara f\u00f6r anv\u00e4ndarna, eftersom <code>\/system\/apps<\/code> inte \u00e4r avsett f\u00f6r att anv\u00e4ndare regelbundet ska \u00f6ppna och titta p\u00e5 det (till skillnad fr\u00e5n MacOS). F\u00f6r s\u00e5dana situationer har Haiku en annan paradigm, men det h\u00e4r alternativet \u00e4r, i teorin, acceptabelt.<\/p><\/blockquote>\n<p><\/p>\n<ul>\n<li>Haiku f\u00e5r infrastruktur f\u00f6r att k\u00f6ra applikationsbilder, nattliga, kontinuerliga och testversioner av programvara, samt f\u00f6r de fall d\u00e4r anv\u00e4ndaren vill \u2018frysa det i tiden\u2019 f\u00f6r privat och internt programvara, och andra specialanv\u00e4ndningar (ungef\u00e4r 20 % av allt). Dessa bilder inneh\u00e5ller de filer som beh\u00f6vs f\u00f6r att k\u00f6ra applikationen. <code>.hpkg<\/code>, monterade med systemets medel, och efter att applikationen avslutats \u2014 avmonterade. (Kanske skulle filhanteraren kunna placera filer <code>.hpkg<\/code> i applikationsavbilder, automatiskt eller p\u00e5 beg\u00e4ran av anv\u00e4ndaren \u2014 som n\u00e4r man drar en applikation till en n\u00e4tverkskatalog eller extern disk. Det \u00e4r verkligen en s\u00e5ng! Eller kanske mer en dikt \u2014 haiku.) \u00c5 andra sidan kan anv\u00e4ndaren vilja installera inneh\u00e5llet i avbilden som filer<code>.hpkg<\/code>, efter vilket de kommer att uppdateras och hanteras p\u00e5 exakt samma s\u00e4tt som om de hade installerats via HaikuDepot... Det kr\u00e4vs en id\u00e9bollning).<\/li>\n<\/ul>\n<p><\/p>\n<p>Citat fr\u00e5n mr. waddlesplash:<\/p>\n<p><\/p>\n<blockquote><p>Att k\u00f6ra applikationer fr\u00e5n externa enheter eller n\u00e4tverksmappar kan vara potentiellt anv\u00e4ndbart. Och att l\u00e4gga till m\u00f6jligheten att konfigurera fler \u2018zoner\u2019 f\u00f6r pkgman skulle definitivt vara en bra funktion.<\/p><\/blockquote>\n<p>Ett s\u00e5dant system kommer att utnyttja f\u00f6rdelarna med hpkg, kataloger och applikationsavbilder. De \u00e4r bra var f\u00f6r sig, men tillsammans kommer de att bli oslagbara.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">Slutsats<\/h2>\n<p><\/p>\n<p>F\u00f6r Haiku finns det en infrastruktur som erbjuder ett enkelt och sofistikerat anv\u00e4ndargr\u00e4nssnitt f\u00f6r PC, och det str\u00e4cker sig l\u00e5ngt bortom vad som vanligtvis erbjuds f\u00f6r PC p\u00e5 Linux. Paketsystemet <code>.hpkg<\/code> \u2014 ett av dessa exempel, men de andra delarna av systemet \u00e4r ocks\u00e5 genomsyra av finess. \u00c4nd\u00e5 skulle Haiku vinna p\u00e5 r\u00e4tt st\u00f6d f\u00f6r kataloger och applikationspaket. Hur man b\u00e4st g\u00e5r tillv\u00e4ga b\u00f6r diskuteras med m\u00e4nniskor som k\u00e4nner Haiku, dess filosofi och arkitektur mycket b\u00e4ttre \u00e4n jag. Slutligen har jag anv\u00e4nt Haiku i lite mer \u00e4n en vecka. Men jag anser \u00e4nd\u00e5 att denna nya perspektiv kommer att vara till nytta f\u00f6r designers, utvecklare och arkitekter av Haiku. \u00c5tminstone ser jag g\u00e4rna mig sj\u00e4lv som en \"sparringpartner\" f\u00f6r dem. Jag har \u00f6ver 10 \u00e5rs praktisk erfarenhet av kataloger och applikationspaket f\u00f6r Linux, och jag skulle vilja hitta till\u00e4mpningar f\u00f6r Haiku, f\u00f6r vars koncept, enligt min mening, de passar perfekt. De potentiella l\u00f6sningar jag f\u00f6resl\u00e5r \u00e4r inte de enda r\u00e4tta f\u00f6r de problem jag beskrivit, och om Haiku-teamet beslutar sig f\u00f6r att hitta andra, mer eleganta l\u00f6sningar \u2014 s\u00e5 \u00e4r det jag helt och h\u00e5llet f\u00f6r. I princip funderar jag redan p\u00e5 hur man kan g\u00f6ra systemet <code>hpkg<\/code> \u00e4nnu mer fantastisk utan att \u00e4ndra hur den fungerar. Det visar sig att Haiku-teamet l\u00e4nge har t\u00e4nkt p\u00e5 applikationspaket vid implementeringen av pakethanteringssystemet, men tyv\u00e4rr, (det verkar f\u00f6r mig) har id\u00e9n blivit \u2018f\u00f6r\u00e5ldrad\u2019. Kanske \u00e4r det dags att \u00e5teruppliva den?<\/p>\n<p><\/p>\n<p>Prova sj\u00e4lv! Eftersom Haiku-projektet tillhandah\u00e5ller bilder f\u00f6r nedladdning fr\u00e5n DVD eller USB, som skapas <noindex><a rel=\"nofollow\" href=\"https:\/\/download.haiku-os.org\/?source=post_page---------------------------\">dagligen<\/a><\/noindex>.<br \/>\nHar du fr\u00e5gor? V\u00e4lkommen till v\u00e5r svenskspr\u00e5kiga <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/HaikuOS_RU_chat\">telegramkanal<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Felkod: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/pvs-studio\/blog\/461255\/\">Hur man skjuter sig sj\u00e4lv i foten i C och C++. En samling recept f\u00f6r Haiku OS<\/a><\/noindex><\/p>\n<p><\/p>\n<p>Fr\u00e5n <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/Finnix\/\">f\u00f6rfattare<\/a><\/noindex> \u00f6vers\u00e4ttning: detta \u00e4r den \u00e5ttonde och sista artikeln i serien om Haiku.<\/p>\n<p><\/p>\n<p>Artikellista: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/461141\/\">F\u00f6rsta<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/461451\/\">Andra<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/462815\/\">Tredje<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/463105\/\">Fj\u00e4rde<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/463803\/\">Femte<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/464819\/\">Sj\u00e4tte<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/465241\/\">Sjunde<\/a><\/noindex><\/p>\n<p class=\"for_users_only_msg\">Endast registrerade anv\u00e4ndare kan delta i omr\u00f6stningen. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Logga in<\/a><\/noindex>, tack.<\/p>\n<h2 class=\"default-block__polling-title\">\u00c4r det meningsfullt att portera hpkg-systemet till Linux?<\/h2>\n<ul class=\"content-list content-list_polling\">\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Ja<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Ingen<\/p>\n<\/li>\n<li class=\"content-list__item content-list__item_polling\">\n<p>                    Redan genomf\u00f6rt, jag kommer att skriva kommentarer.<\/p>\n<\/li>\n<\/ul>\n<p>    R\u00f6stade 20 anv\u00e4ndare. Avstod 5 anv\u00e4ndare.<br \/>\n<br \/>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/466301\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0449\u0443\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (\u043a\u0430\u043a .app \u0432 Mac) \u0438\/\u0438\u043b\u0438 \u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (Linux AppImage)? \u041c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u044b\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u043d\u0435\u0434\u0440\u0438\u0442\u044c \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0443\u0436\u0435 \u0435\u0441\u0442\u044c. \u041d\u0435\u0434\u0435\u043b\u044e \u043d\u0430\u0437\u0430\u0434 \u044f \u043e\u0442\u043a\u0440\u044b\u043b \u0434\u043b\u044f \u0441\u0435\u0431\u044f Haiku, \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u041d\u0443 \u0430 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28393,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37830","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041a\u043e\u0435-\u0447\u0442\u043e \u0435\u0449\u0435: \u043f\u0430\u043a\u0435\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Haiku? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:20:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:20:00+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47N\u00e5got mer: applikationspaket f\u00f6r Haiku? | ProHoster","description":"TL;DR: kan Haiku.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041a\u043e\u0435-\u0447\u0442\u043e \u0435\u0449\u0435: \u043f\u0430\u043a\u0435\u0442\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Haiku? | ProHoster","og:description":"TL;DR: \u043c\u043e\u0436\u0435\u0442 \u043b\u0438 Haiku.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/koe-chto-eshhe-pakety-prilozhenij-haiku","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:20:00+00:00","article:modified_time":"2019-10-31T19:20:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37830","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 19:26:35","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:20:22","updated":"2026-01-23 19:26:35","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/37830","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=37830"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/37830\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/28393"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=37830"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=37830"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=37830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}