ProHoster > Blog > Pulega > O a'u aso lona lima ma Haiku: se'i o tatou fa'agasolo ni polokalame
O a'u aso lona lima ma Haiku: se'i o tatou fa'agasolo ni polokalame
TL; AMA: O se tagata fou na vaʻaia Haiku mo le taimi muamua, taumafai e faʻapipiʻi nisi o polokalame mai le lalolagi Linux.
O la'u polokalame muamua na feavea'i Haiku, afifi i lona hpkg format
Talu ai nei Na ou mauaina Haiku, ose faiga fa'ate'ia lelei mo PC.
O le asō o le a ou aʻoaʻoina ai pe faʻafefea ona faʻapipiʻi polokalame fou i lenei faiga faʻaoga. O le taulaiga autu o se faʻamatalaga o le aafiaga muamua o le fesuiaʻi i Haiku mai le manatu o se Linux developer. Ou te faatoese atu mo soʻo se mea valea na ou faia i luga o le ala, ona e leʻi atoa se vaiaso talu ona ou sii maia le Haiku.
Ou te fia ausia sini e tolu:
Tu'u se talosaga faigofie CLI
Tu'u se talosaga mai le GUI i le Qt
Ona afifiina lea i le hpkg format (talu ai o loʻo ou mafaufau pea e faʻafetaui le AppDir ma le AppImage mo Haiku ...)
Tatou amata. I vaega tusitusiga и atinaefaʻapea foʻi i totonu tasi e faaaogaina mai HaikuPorts Na ou maua le itu sa'o. E iai foʻi se tusi PDF i luga ole laiga BeOS: Tuuina atu o se Unix Application.
467 itulau - ma e mai le 1997! E taufaafefe le tilotilo i totonu, ae ou te faamoemoe mo le mea sili. O le faʻamalosia o upu a le atinaʻe: "na umi se taimi ona o le BeOS e leʻi tausisia POSIX," ae o Haiku "mo le tele o vaega" ua faʻapea.
Tuuina atu o se talosaga CLI faigofie
O le manatu muamua o le tuʻuina atu lea o le talosaga avrdude, ae, e pei ona aliali mai, o lea ua uma faia ua leva.
O lea o le a ou faʻaaogaina pa'u-770, CLI mo le puleaina o le lomitusi Brother P-Touch 770 lea ou te faʻaaogaina e lolomi ai igoa.
Ou te lolomia igoa eseese i luga, ma atonu ua uma ona e vaai i ai i le tusiga muamua. I sina taimi muamua atu, na ou tusia ai se polokalame afifi GUI i le Python (talu ai i le Gtk +, e tatau ona toe tusia, ma o se mafuaaga lelei lea e aʻoaʻo ai).
Uso P-Touch 770 lomitusi igoa. E aoga ma Haiku?
O le Haiku package manager e iloa e uiga i faletusi ma poloaiga, o lea afai ou te maua se "le mafai ona maua le libintl" savali pe a tamoe configure - Fa'atoa ou fa'alauiloa pkgman install devel:libintl ma o le a maua le afifi manaomia. E faapena foi pkgman install cmd:rsync. Ia, ma isi.
Se'i vagana ua le aoga lenei mea:
/Haiku/home> git clone https://github.com/probonopd/ptouch-770
Cloning into 'ptouch-770'...
remote: Enumerating objects: 134, done.
remote: Total 134 (delta 0), reused 0 (delta 0), pack-reused 134
Receiving objects: 100% (134/134), 98.91 KiB | 637.00 KiB/s, done.
Resolving deltas: 100% (71/71), done./Haiku/home> cd ptouch-770//Haiku/home/ptouch-770> make
gcc -Wall -O2 -c -o ptouch-770-write.o ptouch-770-write.c
ptouch-770-write.c:28:10: fatal error: libudev.h: No such file or directory
#include <libudev.h>
^~~~~~~~~~~
compilation terminated.
Makefile:16: recipe for target 'ptouch-770-write.o' failed
make: *** [ptouch-770-write.o] Error 1/Haiku/home/ptouch-770> pkgman install devel:libudev
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku...done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts...done.
*** Failed to find a match for "devel:libudev": Name not found/Haiku/home/ptouch-770> pkgman install devel:udev
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku...done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts...done.
*** Failed to find a match for "devel:udev": Name not found
Masalo o le udev e faʻavae tele i Linux ma o lea e le o iai mo Haiku. O lona uiga ou te manaʻomia le faʻasaʻoina o le code source o loʻo ou taumafai e faʻapipiʻi.
E, e le mafai ona e oso i luga o lou ulu, ma ou te le iloa foi po o fea e amata ai.
Taumafai lona tolu
E manaia pe a maua tmate mo Haiku, ona ou fa'atagaina lea o le au atina'e Haiku e fa'afeso'ota'i i la'u sauniga fa'agata - ne'i iai se mea e tupu. O faatonuga e fai si faigofie:
./autogen.sh
./configure
make
make install
E foliga lelei, aisea la e le taumafai ai i luga o Haiku?
/Haiku/home> git clone https://github.com/tmate-io/tmate/Haiku/home> cd tmate//Haiku/home/tmate> ./autogen.sh
(...)/Haiku/home/tmate> ./configure
(...)
checking for libevent... no
checking for library containing event_init... no
configure: error: "libevent not found"/Haiku/home/tmate> pkgman install devel:libevent
(...)
The following changes will be made:
in system:
install package libevent21-2.1.8-2 from repository HaikuPorts
install package libevent21_devel-2.1.8-2 from repository HaikuPorts
Continue? [yes/no] (yes) :
100% libevent21-2.1.8-2-x86_64.hpkg [965.22 KiB]
(...)
[system] Done.checking for ncurses... no
checking for library containing setupterm... no
configure: error: "curses not found"/Haiku/home/tmate> pkgman install devel:libcurses
(...)
*** Failed to find a match for "devel:libcurses": Name not found/Haiku/home/tmate> pkgman install devel:curses
(...)
*** Failed to find a match for "devel:curses": Name not found
I lenei laʻasaga ou te tatalaina HaikuDepot ma suʻe curses.
Na maua se mea, lea na ou maua ai se faʻataʻitaʻiga mo se fesili e sili atu ona agavaa:
/Haiku/home/tmate> pkgman install devel:libncurses
(...)
100% ncurses6_devel-6.1-1-x86_64.hpkg [835.62 KiB]
(...)./configure
(...)
checking for msgpack >= 1.1.0... no
configure: error: "msgpack >= 1.1.0 not found"/Haiku/home/tmate> pkgman install devel:msgpack
(...)
*** Failed to find a match for "devel:msgpack": Name not found/Haiku/home/tmate> pkgman install devel:libmsgpack
(...)
*** Failed to find a match for "devel:libmsgpack": Name not found
Na ou toe alu i HaikuDepot, ma, ioe, maua devel:msgpack_c_cpp_devel. O a nei igoa uiga ese?
/Haiku/home/tmate> pkgman install devel:msgpack_c_cpp_devel
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku...done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts...done.
*** Failed to find a match for "devel:msgpack_c_cpp_devel": Name not found# Why is it not finding it? To hell with the "devel:".../Haiku/home/tmate> pkgman install msgpack_c_cpp_devel
(...)
The following changes will be made:
in system:
install package msgpack_c_cpp-3.1.1-1 from repository HaikuPorts
install package msgpack_c_cpp_devel-3.1.1-1 from repository HaikuPorts
Continue? [yes/no] (yes) :
(...)/Haiku/home/tmate> ./configure
(...)
checking for libssh >= 0.8.4... no
configure: error: "libssh >= 0.8.4 not found"/Haiku/home/tmate> pkgman install devel:libssh/Haiku/home/tmate> make
(...)
In file included from /boot/system/develop/headers/msgpack.h:22,
from tmate.h:5,
from cfg.c:29:
/boot/system/develop/headers/msgpack/vrefbuffer.h:19:8: error: redefinition of struct iovec'
struct iovec {
^~~~~
In file included from tmux.h:27,
from cfg.c:28:
/boot/system/develop/headers/posix/sys/uio.h:12:16: note: originally defined here
typedef struct iovec {
^~~~~
Makefile:969: recipe for target 'cfg.o' failed
make: *** [cfg.o] Error 1
I lenei laʻasaga, na ou iloa ai o le faʻapipiʻiina o se polokalama i Haiku e manaʻomia ai le tele o le malamalama nai lo le manaʻomia mo se toe faʻaleleia faigofie.
Na ou talanoa i le au atinaʻe faauo Haiku, e foliga mai o loʻo i ai se pusa i le msgpack, ma a maeʻa ni nai minute ou te vaʻai i se patch i HaikuPorts. E mafai ona ou vaʻai i ou lava mata pe faʻafefea ona faʻasaʻoina le afifi alu iinei (buildslave - masini masini).
I le lima minute mulimuli ane, ua uma ona maua le msgpack fou i Haiku:
/Haiku/home/tmate> pkgman update
(...)
The following changes will be made:
in system:
upgrade package msgpack_c_cpp-3.1.1-1 to 3.2.0-2 from repository HaikuPorts
upgrade package msgpack_c_cpp_devel-3.1.1-1 to 3.2.0-2 from repository HaikuPorts
Continue? [yes/no] (yes) : y
100% msgpack_c_cpp-3.2.0-2-x86_64.hpkg [13.43 KiB]
(...)
[system] Done.
E lei mafaufauina lelei. Na ou fai atu lena mea?!
Ou te toe foi i tua i le faafitauli muamua:
/Haiku/home/tmate> make
(...)
In file included from tmux.h:40,
from tty.c:32:
compat.h:266: warning: "AT_FDCWD" redefined
#define AT_FDCWD -100
In file included from tty.c:25:
/boot/system/develop/headers/posix/fcntl.h:62: note: this is the location of the previous definition
#define AT_FDCWD (-1) /* CWD FD for the *at() functions */
tty.c: In function 'tty_init_termios':
tty.c:278:48: error: 'IMAXBEL' undeclared (first use in this function); did you mean 'MAXLABEL'?
tio.c_iflag &= ~(IXON|IXOFF|ICRNL|INLCR|IGNCR|IMAXBEL|ISTRIP);
^~~~~~~
MAXLABEL
tty.c:278:48: note: each undeclared identifier is reported only once for each function it appears in
Makefile:969: recipe for target 'tty.o' failed
make: *** [tty.o] Error 1
O lea e foliga mai e le o sese le msgpack. O lea ou te fai atu IMAXLABEL в tty.c faʻapea:
osdep-unknown.c: In function 'osdep_get_cwd':
osdep-unknown.c:32:19: warning: unused parameter 'fd' [-Wunused-parameter]
osdep_get_cwd(int fd)
~~~~^~
make: *** No rule to make target 'compat/forkpty-unknown.c', needed by 'compat/forkpty-unknown.o'. Stop.
Ia, o lea ua tatou toe o atu... I le ala:
/Haiku/home/tmate> ./configure | grep -i OPENAT
checking for openat... no
/Haiku/home/tmate> ./configure LDFLAGS="-lbsd"
(...)/Haiku/home/tmate> make
(...)
In file included from tmux.h:40,
from window.c:31:
compat.h:266: warning: "AT_FDCWD" redefined
#define AT_FDCWD -100
In file included from window.c:22:
/boot/system/develop/headers/posix/fcntl.h:62: note: this is the location of the previous definition
#define AT_FDCWD (-1) /* CWD FD for the *at() functions */
make: *** No rule to make target 'compat/forkpty-unknown.c', needed by 'compat/forkpty-unknown.o'. Stop.
Na latou faamatala mai ia te aʻu o loʻo i ai se isi mea i le libnetwork e faʻaopoopo i le libresolv i Haiku. E foliga mai e manaʻomia ona toe faʻaleleia atili le code. E tatau ona mafaufau…
find . -type f -exec sed -i -e 's|lresolv|lnetwork|g' {} ;
O le fesili e faavavau: o le a le mea o tupu?
/Haiku/home/tmate> ./configure LDFLAGS="-lbsd"
(...)/Haiku/home/tmate> make
(...)
# Success!# Let's run it:/Haiku/home/tmate> ./tmate
runtime_loader: /boot/system/lib/libssh.so.4.7.2: Could not resolve symbol '__stack_chk_guard'
resolve symbol "__stack_chk_guard" returned: -2147478780
runtime_loader: /boot/system/lib/libssh.so.4.7.2: Troubles relocating: Symbol not found
O le mea lava e tasi, naʻo le talaaga. Googled ma maua lenei. Afai e te faaopoopo -lssp "O nisi taimi" fesoasoani, ou te taumafai:
/Haiku/home/tmate> ./configure LDFLAGS="-lbsd -lssp"
(...)/Haiku/home/tmate> make
(...)/Haiku/home/tmate> ./tmate
Oka! Ua amata! Ae…
[tmate] ssh.tmate.io lookup failure. Retrying in 2 seconds (non-recoverable failure in name resolution)
O le "Bad port ID" ua pei o se kata pisinisi haiku. Atonu ei ai se manatu o se tasi po o le a le mea ua faaletonu ma pe faapefea ona toe faaleleia? Afai o lea, o le a ou faʻafouina le tusiga. So'oga i GitHub.
Tu'u le talosaga GUI ile Qt.
Ou te filifilia se talosaga QML faigofie.
/> cd /Haiku/home//Haiku/home> git clone https://github.com/probonopd/QtQuickApp
/Haiku/home/QtQuickApp> qmake .
/Haiku/home/QtQuickApp> make
/Haiku/home/QtQuickApp> ./QtQuickApp # Works!
E matua faigofie lava. E itiiti ifo i le minute!
Fa'apipi'i tusi talosaga i hpkg fa'aaoga haikuporter ma haikuports.
O le a le mea e tatau ona ou amata ai? E leai ni faʻamaumauga faigofie, ou te alu i le #haiku alalaupapa ile irc.freenode.net ma faʻalogo:
au package - o se auala maualalo e fai ai afifi. Mo le tele o vaega, PackageInfo ua lava mo ia, e pei ona faamatalaina i le vaega "Faia i totonu o se pusa .hpkg talafeagai"
E le o manino le mea e fai. Ou te masalo ou te manaʻomia se taʻiala mo le amataga o le Talofa World, sili o se vitio. E manaia foi le i ai o se folasaga talafeagai i HaikuPorter, e pei ona faia i le GNU hello.
Sa ou faitau i mea nei:
haikuporter ose meafaigaluega mo le fatuina o poloketi masani mo Haiku. E fa'aogaina le fale teu oloa HaikuPorts e fai ma fa'avae mo afifi uma. Haikuporter recipes e faʻaaogaina e fai ai afifi.
E le gata i lea, ua ou iloa e faapea:
E leai se mea e manaʻomia e teu ai fua i totonu o le teuina o HaikuPorts. E mafai ona e faia se isi faleteuoloa, tuu i ai fua o fua, ona faasino lea i ai le haikuporter.
Pau lava le mea ou te manaʻomia - pe a le o suʻeina se auala e faʻasalalau faʻalauaʻitele le afifi. Ae o se autu lenei mo se isi pou.
Fa'apipi'i haikuporter ma haikuports
cd /boot/home/
git clone https://github.com/haikuports/haikuporter --depth=50
git clone https://github.com/haikuports/haikuports --depth=50
ln -s /boot/home/haikuporter/haikuporter /boot/home/config/non-packaged/bin/ # make it runnable from anywhere
cd haikuporter
cp haikuports-sample.conf /boot/home/config/settings/haikuports.conf
sed -i -e 's|/mydisk/haikuports|/boot/home/haikuports|g' /boot/home/config/settings/haikuports.conf
Tusia o se fua
SUMMARY="Demo QtQuick application"
DESCRIPTION="QtQuickApp is a demo QtQuick application for testing Haiku porting and packaging"
HOMEPAGE="https://github.com/probonopd/QtQuickApp"
COPYRIGHT="None"
LICENSE="MIT"
REVISION="1"
SOURCE_URI="https://github.com/probonopd/QtQuickApp.git"
#PATCHES=""
ARCHITECTURES="x86_64"
PROVIDES="
QtQuickApp = $portVersion
"
REQUIRES="
haiku
"
BUILD_REQUIRES="
haiku_devel
cmd:qmake
"BUILD()
{
qmake .
make $jobArgs
}INSTALL()
{
make install
}
Fa'apotopoto le fua
Ou te faasaoina le faila i lalo o le igoa QtQuickApp-1.0.recipe, a uma ona ou tatalaina aikuporter -S ./QuickApp-1.0.recipe. E siaki fa'alagolago mo afifi uma ile fale teu oloa haikuports, lea e umi se taimi. Ou te alu e aumai se kofe.
Aisea e tatau ai i luga o le fogaeleele ona faia lenei siaki i luga o laʻu masini i le lotoifale, ae le o le totonugalemu i luga o le 'auʻaunaga e tasi mo tagata uma?
E tusa ai ma le saunoaga a Mr. vaddlesplash:
Faatasi ai ma se mea e mafai ai ona e toe tusia soʻo se faila i totonu o le fale teu oloa 😉 E mafai ona e faʻaogaina lenei mea itiiti, faʻatusatusaina faʻamatalaga talafeagai pe a manaʻomia, aua o suiga mulimuli na faia e seasea lava.
~/QtQuickApp> haikuporter QtQuickApp-1.0.recipe
Checking if any dependency-infos need to be updated ...
Looking for stale dependency-infos ...
Error: QtQuickApp not found in repository
E foliga mai e leai se mea e pei o se faila masani o fua o loʻo i ai le faʻailoga puna o lau talosaga. E tatau ona e teuina i totonu o se fale teu oloa i le faatulagaga HaikuPorts.
O lenei mea moni e atili ai ona faigata le faʻapotopotoga. Ou te le fiafia i ai, ae ou te manatu e tatau ina ia iu lava ina faʻaalia uma polokalama faʻapipiʻi i HaikuPorts.
Ou te mauaina mea nei:
~/QtQuickApp> haikuporter -S QtQuickApp-1.0.recipe
Checking if any dependency-infos need to be updated ...
updating dependency infos of QtQuickApp-1.0
Looking for stale dependency-infos ...
Error: QtQuickApp-1.0.recipe not found in tree.
O le a le mea sese? A uma ona faitau le irc ou te faia:
~/QtQuickApp> haikuporter -S QtQuickApp
Checking if any dependency-infos need to be updated ...
updating dependency infos of QtQuickApp-1.0
Looking for stale dependency-infos ...
----------------------------------------------------------------------
app-misc::QtQuickApp-1.0
/boot/home/haikuports/app-misc/QtQuickApp/QtQuickApp-1.0.recipe
----------------------------------------------------------------------Downloading: https://github.com/probonopd/QtQuickApp.git ...
--2019-07-14 16:12:44-- https://github.com/probonopd/QtQuickApp.git
Resolving github.com... 140.82.118.3
Connecting to github.com|140.82.118.3|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://github.com/probonopd/QtQuickApp [following]
--2019-07-14 16:12:45-- https://github.com/probonopd/QtQuickApp
Reusing existing connection to github.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘/boot/home/haikuports/app-misc/QtQuickApp/download/QtQuickApp.git’
0K . 1.34M=0.06s
2019-07-14 16:12:45 (1.34 MB/s) - ‘/boot/home/haikuports/app-misc/QtQuickApp/download/QtQuickApp.git’ saved [90094]
Validating checksum of QtQuickApp.git
Warning: ----- CHECKSUM TEMPLATE -----
Warning: CHECKSUM_SHA256="cf906a65442748c95df16730c66307a46d02ab3a12137f89076ec7018d8ce18c"
Warning: -----------------------------
Error: No checksum found in recipe!
Ua tulai mai se fesili manaia. Afai ou te faʻaopoopoina se siaki tupe i le fua - e fetaui ma le git commit lata mai mo le faʻaauauina faʻatasi? (Ua faʻamaonia e le faʻatupuina: "E le aoga. O fualaʻau ua mamanuina ina ia mautu lelei.")
~/QtQuickApp> haikuporter -S QtQuickApp
Checking if any dependency-infos need to be updated ...
updating dependency infos of QtQuickApp-1.0
Looking for stale dependency-infos ...
----------------------------------------------------------------------
app-misc::QtQuickApp-1.0
/boot/home/haikuports/app-misc/QtQuickApp/QtQuickApp-1.0.recipe
----------------------------------------------------------------------
Skipping download of source for QtQuickApp.git
Validating checksum of QtQuickApp.git
Unpacking source of QtQuickApp.git
Error: Unrecognized archive type in file /boot/home/haikuports/app-misc/QtQuickApp/download/QtQuickApp.git
O le a lana mea o fai? A uma mea uma, o le git repository, o le code o loʻo i ai saʻo, e leai se mea e tatalaina. Mai loʻu manatu, o le meafaigaluega e tatau ona lava le atamai e aua le suʻeina se unpacker pe afai o loʻo i luga aʻe o le GitHub url.
Downloading: git://github.com/probonopd/QtQuickApp.git ...
Error: Downloading from unsafe sources is disabled in haikuports.conf!
Hmm, aisea e faigata tele ai mea uma, aisea e le mafai ai ona e "galue"? A uma, e le o se mea e le masani ai le fausiaina o se mea mai GitHub. Pe o mea faigaluega e galue i le taimi lava lena, e aunoa ma le manaʻomia o se seti, pe pei ona ou taʻua o le "fussing".
Ia, ioe, o le mafuaʻaga o le manaʻo e siaki le faʻamaoni o faʻamaumauga na maua mo le faʻapotopotoga. O se tasi o filifiliga o le faʻamaonia lea o le siakiina o le archive, ae e mafai, ioe, faʻapipiʻi faila taʻitasi, lea o le a le faʻatinoina, aua e umi se taimi. O le taunuuga o lenei mea o le "le saogalemu" o git ma isi VCS. E foliga mai o le tulaga lea i taimi uma, talu ai o le fatuina o se faʻamaumauga i luga o GitHub e faigofie tele ma masani ona vave. Ia, i le lumanaʻi, atonu o le a le faʻafefeteina le feʻau sese ... (matou te le toe tuʻufaʻatasia ia meaʻai i HaikuPorts).
~/QtQuickApp> haikuporter -S QtQuickApp
Checking if any dependency-infos need to be updated ...
Looking for stale dependency-infos ...
----------------------------------------------------------------------
app-misc::QtQuickApp-1.0
/boot/home/haikuports/app-misc/QtQuickApp/QtQuickApp-1.0.recipe
----------------------------------------------------------------------Downloading: git+https://github.com/probonopd/QtQuickApp.git ...
Warning: UNSAFE SOURCES ARE BAD AND SHOULD NOT BE USED IN PRODUCTION
Warning: PLEASE MOVE TO A STATIC ARCHIVE DOWNLOAD WITH CHECKSUM ASAP!
Cloning into bare repository '/boot/home/haikuports/app-misc/QtQuickApp/download/QtQuickApp.git'...
Unpacking source of QtQuickApp.git
tar: /boot/home/haikuports/app-misc/QtQuickApp/work-1.0/sources/QtQuickApp-1.0: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
Command 'git archive HEAD | tar -x -C "/boot/home/haikuports/app-misc/QtQuickApp/work-1.0/sources/QtQuickApp-1.0"' returned non-zero exit status 2
Ona o le masani tuai, ou te alu e fesili i tagata lelei i luga o le ala #haiku i luga ole irc.freenode.net network. Ma o fea ou te i ai e aunoa ma i latou? Ina ua uma le faʻamatalaga, na ou iloa e tatau ona ou faʻaaogaina:
Lelei, na manino le mea e fai - na te siiina mai se faʻamaumauga faʻatasi ai ma le faʻailoga autu o se toe iloiloga. E valea, mai loʻu manatu, ae le o le mea tonu lea ou te manaʻo ai, o le sii mai lea o le toe iloiloga lata mai mai le matai lala.
Na faʻamatalaina e se tasi o atinaʻe i le auala lenei:
E i ai a matou lava CI, o mea uma e tuʻuina i totonu o le fale teu oloa haikuports o le a faʻapipiʻiina mo tagata uma e faʻaoga, ma matou te le manaʻo e lamatia le aoina ma le tuʻuina atu o "mea uma i le lomiga lata mai i luga."
Malamalama! I soo se tulaga, o le mea lenei na tupu:
waiting for build package QtQuickApp-1.0-1 to be activated
waiting for build package QtQuickApp-1.0-1 to be activated
waiting for build package QtQuickApp-1.0-1 to be activated
waiting for build package QtQuickApp-1.0-1 to be activated
waiting for build package QtQuickApp-1.0-1 to be activated
(...)
E toe fai lenei ad infinitum. E foliga mai o se mea sese lenei (e i ai se talosaga? E le mafai ona ou mauaina).
С haikuporter ma fale teu oloa haikuports E leai se lagona "na'o le galue" i ai, ae i le avea ai ma se atina'e, ei ai nisi mea ou te fiafia i ai e uiga i le galulue faatasi ma Haiku. Mo le tele o vaega, e tutusa ma le Open Build Service, o se seti o meafaigaluega mo le fausiaina o Linux e fausia: matua mamana, faʻatasi ai ma se faiga faʻapitoa, ae sili atu mo laʻu talosaga laitiiti "hello world".
Toe, e tusa ai ma le saunoaga a Mr. vaddlesplash:
O le mea moni, o le HaikuPorter e matua fa'amalo lava (fa'atasi ai ma le fa'aogaina o le lint fa'apea fo'i ma se faiga fa'apitoa e fa'asili atili ai!), Ae na'o le fa'atupuina o afifi o le a aoga, nai lo le na'o le faia o afifi. O le mea lena na ia faitio ai e uiga i faʻalagolago e leʻi taʻutaʻua, faletusi e leʻi faʻaulufaleina lelei, faʻamatalaga sese, ma isi. O le sini o le puʻeina o soʻo se faʻafitauli uma, e aofia ai ma le lumanaʻi, aʻo leʻi iloa e le tagata faʻaoga (o le mea lea na le mafai ai ona faʻapipiʻi le avrdude, ona o le faʻalagolago na faʻamaonia moni i le fua). O faletusi e le na'o ni afifi ta'ito'atasi po'o ni fa'amatalaga patino SO. HaikuPorter faʻamautinoa o nei mea uma o loʻo matauina i totonu o fualaʻau lava ia e aloese ai mai mea sese i le taimi o le faʻatinoga.
I le mataupu faavae, o lenei tulaga o le malosi e faʻamaonia pe a fatuina se faiga faʻaogaina, ae e foliga mai e le manaʻomia ia te aʻu mo se talosaga "hello world". Sa ou filifili e faataitai se isi mea.
Fausiaina o talosaga i le hpkg format e faʻaaoga ai le "package create" poloaiga
Atonu o le, uila Pe o le a sili atu ona lelei faatonuga faigofie mo aʻu?
mkdir -p apps/
cp QtQuickApp apps/cat > .PackageInfo <<EOF
name QtQuickApp
version 1.0-1
architecture x86_64
summary "Demo QtQuick application"
description "QtQuickApp is a demo QtQuick application for testing Haiku porting and packaging"
packager "probono"
vendor "probono"
copyrights "probono"
licenses "MIT"
provides {
QtQuickApp = 1.0-1
}requires {
qt5
}
EOFpackage create -b QtQuickApp.hpkg
package add QtQuickApp.hpkg apps# See below if you also want the application
# to appear in the menu
Faʻafuaseʻi vave, faʻafuaseʻi faigofie, faʻafuaseʻi le aoga. E pei lava ou te fiafia i ai, ofoofogia!
Fa'atonu - o le a ma o fea?
Sii le faila QtQuickApp.hpkg i ~/config/packagesfa'aaoga se faila faila, mulimuli ane fa'ailoga fa'ailoga QtQuickApp ~/config/apps.
Toe, vave fa'afuase'i, faigofie ma aoga. E ofoofogia, ofoofogia!
Ae... (o fea tatou te iai pe a aunoa ma i latou!)
O loʻo misi pea le app mai le lisi lisi lisi ma QuickLaunch. Ou te manatu ua uma ona ou iloa le auala e faaleleia ai. I le faila faila ou te siitia QtQuickApp.hpkg mai ~/config/packages i /system/packages.
Leai, o lo'o misi lava. E foliga mai, sa ou (lelei, ma faatonuga) na misia se mea.
Ina ua uma ona ou tilotilo i le "Contents" tab i HaikuDepot mo nisi talosaga, na ou iloa ai o loʻo i ai faila e pei o. /data/mimedb/application/x-vnd... o le mea e sili atu ona ofoofogia /data/deskbar/menu/Applications/….
Ia, o le a le mea e tatau ona ou tuʻuina iina? Sau loa...
mkdir -p data/deskbar/menu/Applications/
( cd data/deskbar/menu/Applications ; ln -s ../../../../apps/QtQuickApp . )
package add QtQuickApp.hpkg apps data
Ou te mautinoa o le a aoga lenei togafiti, ae o loʻo tumau pea fesili: aisea e tatau ai, o le a le mea e fai? Ou te manatu o lenei mea e faʻaleagaina ai le manatu lautele o le faiga e matua faʻapitoa.
E pei ona faamatalaina e Mr. vaddlesplash:
O nisi taimi e iai tusi talosaga e mana'omia e isi tusi talosaga ae le o iai i le lisi. Mo se fa'ata'ita'iga, LegacyPackageInstaller i lau fa'amalama, fa'agaoioi .pkg fa'amaumauga i le fa'asologa o le BeOS. Ou te manaʻo i tagata faʻaoga e faʻapipiʻi, ae o lo latou i ai i le lisi o le a taʻitaʻia ai le fenumiai.
Mo nisi mafuaʻaga e foliga mai ia te aʻu o loʻo i ai se fofo faigofie, mo se faʻataʻitaʻiga Hidden=true i faila .desktop luga ole Linux. Aisea e le avea ai faʻamatalaga "natia" o se punaoa ma uiga o le faila faila?
O le mea e sili ona le faʻapitoa o le igoa o (nisi) talosaga e faʻaalia ai le lisi, deskbar, saisai malosi i le ala.
Mr. waddlesplash faʻamatalaina lenei mea:
"Deskbar" i lenei tulaga e tatau ona malamalama o se ituaiga o faaupuga lautele (i le auala lava e tasi e pei o le "taskbar", lea e faasino i le Windows application ma le manatu lautele). Ia, talu mai lenei mea deskbar, ae le o le "Deskbar", e mafai foi ona malamalama i se auala talitutusa.
2 tusi "toetoe lava tutusa" ma fa'aoga i totonu
Aisea ua i ai 2 directories ma talosaga, ma aisea foi loʻu QtQuickApplication i le tasi, ae le o le isi? (A uma mea uma, e le o se tasi faiga, ae o se tagata faʻaoga lona lua, lea e mafai ona malamalama ia te aʻu lava ia).
Ou te matua le mautonu ma ou te manatu e tatau ona tuufaatasia lenei mea.
faamatalaga a Mr. vaddlesplash
O le Apps catalog o loʻo i ai tusi talosaga e le manaʻomia ile lisi. Ae o le tulaga i le lisi e manaʻomia moni lava ona faʻaleleia, ina ia sili atu ona faʻaogaina.
Fa'aoga, a leai o le a le tupu 😉
Na ou mafaufau: e matua manaʻomia le faʻafeiloaʻi o talosaga i totonu /system/apps, afai e vaʻaia e tagata faʻaoga iina, e le manaʻomia. Masalo e sili atu le tuʻuina i se isi nofoaga e le faʻafeiloaʻi ai le tagata faʻaoga? E pei lava ona faia i le Mac OS X, lea o loʻo i totonu o afifi .app, lea e le tatau ona iloa e le tagata faʻaoga i totonu /Applications, lafi i le loloto o / System/Library/…“`.
Ae faapefea tagata faalagolago?
Ou te manatu e aoga le faʻamaonia o faʻalagolago i se isi itu, saʻo? E mafai ona manatu Qt o se vaega fa'atulafonoina o le fa'apipi'iina o Haiku e ala i le fa'aletonu? Leai! Qt e le faʻapipiʻiina e ala i le faaletonu. E mafai e se faufale afifi ona otometi ona iloa faʻalagolago e ala i le siakiina o faila ELF? Na taʻu mai ia te aʻu e faia e HaikuPorter lenei mea, ae package Leai. E mafua ona ua na o se "fausia pusa" e na o le fatuina o faila na o ia hpkg.
Pe tatau ea ona fa'amanino atili le Haiku e ala i le fa'aopoopoina o se faiga fa'avae e le tatau ona fa'alagolago se afifi i afifi i fafo atu o Haiku? haikuports? (Ou te manaʻo i ai, aua o sea faiga faʻavae o le a sili atu ona faigofie mea - o le a mafai e le faiga ona otometi ona foia le faʻalagolago i soʻo se afifi e sii mai i soʻo se mea, e aunoa ma le faʻafefeina ma faʻapipiʻi punaoa faaopoopo.)
Mr. fa'amatala e waddlesplash:
Matou te le manaʻo e faʻatapulaʻaina le saʻolotoga o tagata atiaʻe, aua e manino lava afai e manaʻo le KamupaniX e lagolago lana lava seti o polokalama faʻatasi ma faʻalagolago (ma o se fale teu oloa), o le a faia atoatoa.
I lena tulaga, atonu e aoga le fautuaina o afifi vaega lona tolu e aloese mai le faalagolago i soo se mea e le o aofia ai i haikuports e ala i le afifiina atoa o mea uma e manaʻomia i le talosaga. Ae ou te manatu o se autu lea mo se tala i le lumanai i lenei faasologa. [O le tusitala o agai atu i le AppImage? - tusa. fa'aliliu]
Fa'aopoopoina se fa'aikona talosaga
Ae a pe a ou manaʻo e faʻaopoopo se tasi o ata faʻapipiʻi lelei i totonu o punaoa o laʻu talosaga fou na fatuina? E foliga mai o se autu ofoofogia lenei, o lea o le a avea ma faavae mo le isi mataupu.
E fa'afefea ona fa'atulaga faiga fa'aauau?
Vaai faalemafaufau i se poloketi e pei o Inkscape (ioe, ou te iloa e leʻi maua i Haiku, ae e faigofie ona faʻaalia i luga). O lo'o iai a latou fa'amaumauga fa'apogai https://gitlab.com/inkscape/inkscape.
Soo se taimi lava e faia ai e se tasi a latou suiga i le fale teu oloa, e faʻalauiloa ai laina paipa, pe a maeʻa ona faʻataʻitaʻiina suiga, fausia, ma faʻapipiʻiina le talosaga i totonu o afifi eseese, e aofia ai le AppImage mo Linux (o se pusa talosaga tutoʻatasi e mafai ona sii mai mo suʻega faʻapitonuʻu tusa lava pe mea e ono fa'apipi'i pe leai fo'i i luga ole faiga [Na ou iloaina! - tusa. fa'aliliu]). O le mea lava lea e tasi e tupu i talosaga tuʻufaʻatasia uma, ina ia mafai ona e sii maia le talosaga na fausia mai le faʻailoga ua faʻatulagaina i le talosaga tuʻufaʻatasia aʻo leʻi tuʻufaʻatasia.
Fa'atasi talosaga ma tulaga faufale ma le mafai ona fa'apipi'i fa'atasiga fa'atasi pe a manuia le faufale (fa'ailoga i le lanu meamata)
O le fausiaina e alu i totonu o pusa Docker. GitLab ofo fua tagata tamoʻe i luga o Linux, ma ou te manatu e ono mafai ona aofia ai au lava tagata tamoʻe (i le ala, ou te le iloa pe faʻapefea ona aoga lenei mea mo faiga e pei o Haiku, lea ou te iloa e leai se Docker pe tutusa, ae faʻapea foʻi mo FreeBSD e leai se Docker, o lea o lenei faʻafitauli e le faʻapitoa i Haiku).
O le mea lelei, o talosaga Haiku e mafai ona fausia i totonu o se pusa Docker mo Linux. I lenei tulaga, o le faʻapotopotoga mo Haiku e mafai ona faʻafeiloaʻi i paipa o loʻo iai. E i ai ni tagata e tu'ufa'atasia? Pe tatau ona ou faʻataʻitaʻiina uma Haiku i totonu o se pusa Docker e faʻaaoga ai se mea e pei o QEMU / KVM (faapea o le a aoga i totonu o Docker)? I le ala, o le tele o galuega faatino e faʻaaogaina mataupu faavae tutusa. Mo se faʻataʻitaʻiga, e faia e Scribus lenei mea - ua uma ona avanoa mo Haiku. E i ai se aso e oo mai ai le aso e mafai ai ona ou auina atu faapena Toso talosaga i isi poloketi e fa'aopoopo le lagolago a Haiku.
O loʻo faʻamatalaina e se tasi o atinaʻe:
Mo isi galuega fa'atino e mana'o e fai afifi latou lava, o lo'o lagolagoina le auala masani CMake/CPack. O isi faiga faufale e mafai ona lagolagoina e ala i le valaʻau saʻo o le polokalama faufale, e lelei pe a fiafia tagata i ai. O faʻamatalaga faʻaalia: e oʻo mai i le taimi nei e leʻi tele se fiafia, o lea na galue ai le haikuporter e faigofie mo i matou, ae, mulimuli ane, e tatau ona galulue faʻatasi auala uma e lua. E tatau ona matou faʻalauiloaina se seti o meafaigaluega mo le faʻaogaina o masini komepiuta mai Linux poʻo soʻo se isi lava polokalama faʻaogaina o le server (E leʻi fuafuaina Haiku e taʻavale i luga o sapalai).
Ou te tuuina atu se patipati. O lo'o fa'aaogaina masani a Linux latou te tauaveina uma nei uta fa'aopoopo ma ato fa'aopoopo (saogalemu, fa'atonuga fa'apitoa, ma isi) e mana'omia mo se faiga fa'agaoioi a le 'au'aunaga, ae le o se mea patino. O lea ou te ioe atoatoa o le mafai ona fausia Haiku apps i luga o Linux o le auala lea e alu ai.
iʻuga
O le tu'uina atu o talosaga POSIX i Haiku e mafai, ae atonu e sili atu le taugata nai lo le toe fauina masani. E mautinoa lava o le a ou tumau i lenei mea mo se taimi umi pe ana le seanoa le fesoasoani a tagata mai le #haiku channel i luga o le irc.freenode.net network. Ae e oo lava foi ia i latou e lei vave ona iloa le mea ua sese.
Talosaga tusia i le Qt o se tuusaunoaga faigofie. Ou te tuufaatasia se talosaga demo faigofie e aunoa ma ni faafitauli.
Fausiaina o se afifi mo talosaga faigofie e fai lava si faigofie, ae naʻo mo "faʻasaʻo masani", i.e. o lo'o i ai fa'amaumauga fa'amaumauga fa'apogai ua fa'atulagaina mo le lagolago i haikuports. Mo le faʻaauauina o le fausiaina (fausia mo faʻatonuga uma o suiga) ma GitHub, e foliga mai e le faigofie mea uma. O iinei e lagona ai e Haiku le sili atu o le tufatufaina atu o Linux nai lo le taunuuga i luga o le Mac, lea e te kiliki ai le "Fausia" faamau i le XCode e te maua ai se afifi. .app, sauni e fa'aofi i totonu o se ata tisiki .dmg, saunia mo le download i luga o laʻu upega tafaʻilagi.
Faʻaauau le fausiaina o talosaga e faʻavae i luga o se faiga faʻaogaina "server", mo se faʻataʻitaʻiga, Linux, o le a sili atu ona mafai pe a iai se manaʻoga mai tagata atiaʻe, ae o le taimi nei o le Haiku poloketi o loʻo i ai isi galuega sili atu ona mamafa.
Taumafai oe lava ia! A uma mea uma, o le Haiku poloketi e maua ai ata mo le faʻaosoina mai le DVD poʻo le USB, faʻatupuina ежедневно. Ina ia faʻapipiʻi, naʻo le downloadina o le ata ma susunu i le USB flash drive e faʻaaoga ai Etcher
E iai ni fesili? Matou te valaaulia oe i le gagana Rusia telegram alaata.