
TL; DR: Woyamba kumene akuona Haiku koyamba, akuyesera kufalitsa mapulogalamu ena ochokera padziko lonse lapansi Linux.

Pulogalamu yanga yoyamba yojambulidwa ya Haiku, yoyikidwa mumtundu wake wa hpkg
Ndinapeza Haiku, njira yabwino yopangira ma PC.
Lero ndiphunzira momwe ndingatumizire mapulogalamu atsopano ku operating system iyi. Cholinga chachikulu ndi kufotokoza zomwe ndakumana nazo poyamba nditasintha kupita ku Haiku kuchokera pamalingaliro a wopanga mapulogalamu. LinuxPepani chifukwa cha zolakwa zilizonse zopusa zomwe ndinachita panjira, chifukwa pasanathe sabata imodzi kuchokera pamene ndinatsitsa Haiku koyamba.
Ndikufuna kukwaniritsa zolinga zitatu:
- Ikani pulogalamu yosavuta ya CLI
- Ikani pulogalamu kuchokera ku GUI kupita ku Qt
- Kenako aziyika mu mtundu wa hpkg (popeza ndimaganiza zosintha AppDir ndi AppImage ya Haiku...)
Tiyeni tiyambe. M'magawo и , komanso kuchokera ku HaikuPorts ndinapeza njira yoyenera. Palinso buku la intaneti la PDF .
masamba 467 - ndipo izi zikuchokera mu 1997! Ndizowopsa kuyang'ana mkati, koma ndikuyembekeza zabwino. Mawu a wopanga mapulogalamuwa amalimbikitsa: "zinatenga nthawi yaitali chifukwa BeOS sinali yogwirizana ndi POSIX," koma Haiku "kwambiri" ali kale monga choncho.
Kuyika pulogalamu yosavuta ya CLI
Lingaliro loyamba linali kuyika pulogalamuyo , koma, monga momwe zinakhalira, izi ziri kale kalekale.
Yesani choyamba: palibe choti muwone
Zomwe sindingathe kuzimvetsa ndizakuti kale - ngakhale kuti OS palokha sinasinthe 1.0 panobe.
Kuyesera kwachiwiri: muyenera kulembanso
Ndiye ndigwiritsa ntchito , CLI yoyang'anira chosindikizira cha M'bale P-Touch 770 chomwe ndimagwiritsa ntchito kusindikiza zilembo.
Ndimasindikiza zilembo zosiyanasiyana pamenepo, ndipo mwina mwaziwona kale m'nkhani yapitayi. M'mbuyomu, ndidalemba pulogalamu yaying'ono ya GUI ku Python (popeza ili mu Gtk +, iyenera kulembedwanso, ndipo ichi ndi chifukwa chabwino chophunzirira).

Chosindikizira chosindikizira cha M'bale P-Touch 770. Kodi chidzagwira ntchito ndi Haiku?
Woyang'anira phukusi la Haiku amadziwa za malaibulale ndi malamulo, ndiye ngati ndipeza uthenga "sikupeza libintl" ndikathamanga. configure - Ndikungoyambitsa pkgman install devel:libintl ndipo phukusi lofunikira lidzapezeka. Momwemonso pkgman install cmd:rsync. Chabwino, etc.
Kupatula ngati izi sizikugwira ntchito:
/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 foundMwina udev ndiwokhazikika pa Linux ndipo kulibe ku Haiku. Izi zikutanthauza kuti ndikufunika kusintha code code yomwe ndikuyesera kupanga.
Eya, sungalumphe pamutu pako, ndipo sindikudziwa komwe ndingayambire.
Yesani kachitatu
Zingakhale zabwino kukhala nazo tmate kwa Haiku, ndiye ndikanalola opanga Haiku kuti alumikizane ndi gawo langa lomaliza - ngati china chake chalakwika. Malangizowo ndi osavuta:
./autogen.sh
./configure
make
make installZikuwoneka bwino, bwanji osayesa pa 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 foundMu sitepe iyi ndikutsegula HaikuDepot ndikusaka curses.
Chinachake chapezedwa, chomwe chidandipatsa lingaliro lafunso labwino kwambiri:
/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 foundApanso ndinapita ku HaikuDepot, ndipo, ndithudi, ndinapeza devel:msgpack_c_cpp_devel. Kodi mayina achilendowa ndi ati?
/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 1Pa sitepe iyi, ndinazindikira kuti kunyamula pulogalamu ku Haiku kumafuna chidziwitso chochuluka kusiyana ndi chofunikira pakumanganso kosavuta.
Ndinalankhula ndi ochezeka Haiku Madivelopa, likukhalira pali cholakwika msgpack, ndipo patapita mphindi zochepa ndikuwona chigamba mu HaikuPorts. Ndikutha kuona ndi maso anga momwe phukusi lokonzedwa (buildslave - makina enieni).

Kumanga msgpack wokonzedwa pa buildmaster
Pakati pa nthawi ndimatumiza chigamba kumtunda .
Patadutsa mphindi zisanu, msgpack yosinthidwa ikupezeka kale ku 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.Zabwino mosayembekezereka. Ndanena kuti?!
Ndikubwerera ku vuto loyamba:
/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 1Tsopano zikuwoneka ngati msgpack ilibe cholakwika. Ndikupereka ndemanga IMAXLABEL в tty.c kotero:
tio.c_iflag &= ~(IXON|IXOFF|ICRNL|INLCR|IGNCR|/*IMAXBEL|*/ISTRIP);Zotsatira:
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.Chabwino, apa tikupitanso ... Mwa njira:
/Haiku/home/tmate> ./configure | grep -i OPENAT
checking for openat... noimakuuzani komwe muyenera kukumba:
/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.Apa ndalemba .
Anandifotokozera kuti pali china chake mu libnetwork kuwonjezera pa libresolv pa Haiku. Zikuoneka kuti code iyenera kusinthidwanso. Zoyenera kuganiza…
find . -type f -exec sed -i -e 's|lresolv|lnetwork|g' {} ;Funso losatha: chikuchitika ndi chiyani?
/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 foundZomwezo, mu mbiri yokha. Googled ndi . Ngati muwonjezera -lssp "nthawi zina" zimathandiza, ndimayesa:
/Haiku/home/tmate> ./configure LDFLAGS="-lbsd -lssp"
(...)/Haiku/home/tmate> make
(...)/Haiku/home/tmate> ./tmateOo! Ikuyamba! Koma…
[tmate] ssh.tmate.io lookup failure. Retrying in 2 seconds (non-recoverable failure in name resolution)Ndiyesera kukonza :
/Haiku/home/tmate> strace -f ./tmate >log 2>&1"ID yoyipa yadoko" ili kale ngati khadi la bizinesi . Mwinamwake wina ali ndi lingaliro chomwe chiri cholakwika ndi momwe angachikonzere? Ngati ndi choncho, ndisintha nkhaniyo. Lumikizani ku .
Kutumiza pulogalamu ya GUI ku Qt.
Ndimasankha pulogalamu ya QML yosavuta.
/> 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!Zosavuta kwenikweni. Pasanathe mphindi imodzi!
Kuyika mapulogalamu mu hpkg pogwiritsa ntchito haikuporter ndi haikuports.
Ndiyambe ndi chiyani? Palibe zolembedwa zosavuta, ndimapita ku njira ya #haiku pa irc.freenode.net ndikumva:
- timu
package- njira yotsika yopangira mapaketi. Kwa mbali zambiri, PackageInfo ndi yokwanira kwa iye, monga momwe tafotokozera mu gawo "Kupanga kukhala phukusi loyenera la .hpkg" - Ndifunika kuchitapo kanthu
- Angagwiritse ntchito (Zinandivuta kwa ine, )
Sizikudziwika chochita. Ndikuganiza kuti ndikufunika chiwongolero choyambira kalembedwe ka Hello World, vidiyo yabwino. Zingakhale zabwino kukhalanso ndi mawu oyamba osavuta ku HaikuPorter, monga zimachitikira ku GNU moni.
Ndinawerenga zotsatirazi:
haikuporterndi chida chopangira mapulojekiti wamba a Haiku. Imagwiritsa ntchito chosungira cha HaikuPorts ngati maziko a phukusi lonse. Maphikidwe a Haikuporter amagwiritsidwa ntchito popanga mapaketi.
Kuonjezerapo, ndinapeza kuti:
Palibe chifukwa chosungira maphikidwe mu HaikuPorts yosungirako. Mukhoza kupanga malo ena, kuika maphikidwe mmenemo, ndiyeno kuloza haikuporter kwa izo.
Zomwe ndikufunika - ngati sindikufuna njira yotulutsira phukusili poyera. Koma uwu ndi mutu wa positi ina.
Kuyika haikuporter ndi 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.confKulemba Chinsinsi
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
}Kusonkhanitsa Chinsinsi
Ndimasunga fayilo pansi pa dzina QtQuickApp-1.0.recipe, pambuyo pake ndikuyambitsa aikuporter -S ./QuickApp-1.0.recipe. Zodalira zimafufuzidwa pamaphukusi onse omwe ali munkhokwe , zomwe zimatenga nthawi. Ndipita kukatenga khofi.
Chifukwa chiyani chekechi chiyenera kuchitika padziko lapansi pamakina anga akumaloko, osati pa seva kamodzi kwa aliyense?
Malinga ndi mr. waddlesplash:
Ndi kotero kuti mutha kulembanso fayilo iliyonse munkhokwe 😉 Mutha kukulitsa izi pang'ono, kuwerengera zofunikira pakafunika, chifukwa zosintha zomaliza ndizosowa.
~/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 repositoryZikuwonekeratu kuti palibenso fayilo yokhazikika yomwe imakhala ndi magwero a pulogalamu yanu. Muyenera kuyisunga mumtundu wa HaikuPorts.
~/QtQuickApp> mv QtQuickApp-1.0.recipe ../haikuports/app-misc/QtQuickApp/
~/QtQuickApp> ../haikuport
~/QtQuickApp> haikuporter -S QtQuickApp-1.0.recipeIzi zimapangitsa kuti msonkhano ukhale wovuta kwambiri. Sindimakonda kwambiri, koma ndikuganiza kuti ndizofunikira kuti mapulogalamu onse otseguka aziwonekera ku HaikuPorts.
Ndikupeza zotsatirazi:
~/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.Chavuta ndi chiyani? Nditawerenga irc ndimachita:
~/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!Funso lochititsa chidwi labuka. Ngati ndiwonjezera cheke pazakudya - kodi zingafanane ndi zomwe git yapangapo kuti iphatikizidwe mosalekeza? (Wopanga akutsimikizira kuti: "Sizigwira ntchito. Maphikidwe apangidwa kuti azikhala osasunthika.")
Kuti musangalale, onjezani ku Chinsinsi:
CHECKSUM_SHA256="cf906a65442748c95df16730c66307a46d02ab3a12137f89076ec7018d8ce18c"Simunakhutirebe:
~/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.gitKodi iye akuchita chiyani? Kupatula apo, iyi ndi git repository, code ilipo kale mwachindunji, palibe choti mutulutse. Kuchokera kumalingaliro anga, chidacho chiyenera kukhala chanzeru mokwanira kuti musayang'ane unpacker ngati ili pamwamba pa GitHub url.
Mwina uri git:// idzagwira ntchito
SOURCE_URI="git://github.com/probonopd/QtQuickApp.git"Tsopano ikudandaula motere:
Downloading: git://github.com/probonopd/QtQuickApp.git ...
Error: Downloading from unsafe sources is disabled in haikuports.conf!Hmm, chifukwa chiyani zonse ndizovuta, bwanji simungathe "kungogwira ntchito"? Kupatula apo, sizachilendo kupanga china kuchokera ku GitHub. Kaya ndi zida zomwe zimagwira ntchito nthawi yomweyo, popanda kufunikira kokhazikitsa, kapena momwe ndimatchulira "kukangana".
Mwina zikhala motere:
SOURCE_URI="git+https://github.com/probonopd/QtQuickApp.git"Ayi. Ndimapezabe cholakwika chodabwitsa ichi ndikuchita,
sed -i -e 's|#ALLOW_UNSAFE_SOURCES|ALLOW_UNSAFE_SOURCES|g' /boot/home/config/settings/haikuports.confNdikupita patsogolo pang'ono, koma bwanji ukundikuwa (GitHub sitetezeka!) Ndikuyesera kumasula chinachake.
Malingana ndi :
Chabwino, inde, chifukwa chake chinali chikhumbo choyang'ana kukhulupirika kwa deta yomwe idalandilidwa kuti isonkhe. Chimodzi mwazosankha ndikutsimikizira cheke chazosungidwa, koma mutha, ndithudi, mafayilo amtundu uliwonse, omwe sangagwire ntchito, chifukwa zimatenga nthawi yayitali. Zotsatira za izi ndi "kusatetezeka" kwa git ndi VCS ina. Izi zitha kukhala choncho nthawi zonse, popeza kupanga zosungidwa pa GitHub ndikosavuta komanso mwachangu. Chabwino, m'tsogolomu, mwinamwake uthenga wolakwika sudzakhala wonyezimira ... (sitiphatikizanso maphikidwe otere ku 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 2Chifukwa cha chizolowezi chakale, ndimapita kukafunsa anthu abwino panjira ya #haiku pa netiweki ya irc.freenode.net. Ndipo ndikanakhala kuti popanda iwo? Pambuyo pa chidziwitso, ndinazindikira kuti ndiyenera kugwiritsa ntchito:
srcGitRev="d0769f53639eaffdcd070bddfb7113c04f2a0de8"
SOURCE_URI="https://github.com/probonopd/QtQuickApp/archive/$srcGitRev.tar.gz"
SOURCE_DIR="QtQuickApp-$srcGitRev"
CHECKSUM_SHA256="db8ab861cfec0ca201e9c7b6c0c9e5e828cb4e9e69d98e3714ce0369ba9d9522"Chabwino, zinadziwika bwino zomwe zimachita - zimatsitsa zakale zomwe zili ndi gwero la kukonzanso kwina. Ndizopusa, m'malingaliro mwanga, osati ndendende zomwe ndimafuna, mwachitsanzo, kutsitsa kusinthidwa kwaposachedwa kuchokera kunthambi yayikulu.
Mmodzi mwa opanga adafotokoza motere:
Tili ndi CI yathu, kotero zonse zomwe zimayikidwa m'nkhokwe ya haikuports zidzapakidwa kwa onse ogwiritsa ntchito, ndipo sitikufuna kuyika pachiwopsezo chosonkhanitsa ndikupereka "zonse zaposachedwa kumtunda."
Zamveka! Mulimonsemo, izi ndi zomwe zidachitika:
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
(...)Ikubwereza malondawa infinitum. Zikuwoneka kuti ichi ndi cholakwika (kodi pali pulogalamu? Sindinayipeze).
С haikuporter ndi posungira Sizikumveka ngati "zikugwira ntchito basi," koma monga wopanga mapulogalamu, pali zinthu zina zomwe ndimakonda pogwira ntchito ndi Haiku. Zimafanana kwambiri ndi Open Build Service—zida zomangira nyumba. Linux: yamphamvu kwambiri, yokhala ndi njira yolongosoka, koma yoposa momwe ndingathere pulogalamu yanga yaying'ono ya "dziko la hello".
Apanso, malinga ndi Mr. waddlesplash:
Zowonadi, HaikuPorter ndiyokhazikika mwachisawawa (kuphatikizanso pali lint mode komanso njira yolimba kuti ikhale yolimba kwambiri!), Koma chifukwa imapanga mapaketi omwe angagwire ntchito, m'malo mongopanga mapaketi. Ichi ndichifukwa chake amadandaula za kudalira kosadziwika, malaibulale omwe sanatumizidwe bwino, mitundu yolakwika, ndi zina zambiri. Cholinga chake ndikugwira mavuto aliwonse, kuphatikiza amtsogolo, wogwiritsa ntchito asanadziwe (ndicho chifukwa chake sikunali kotheka kukhazikitsa avrdude, chifukwa kudalira kudafotokozedwa kwenikweni mu Chinsinsi). Malaibulale si phukusi lapadera kapenanso mitundu ina ya SO. HaikuPorter imawonetsetsa kuti zonsezi zimawonedwa m'maphikidwe okha kuti apewe zolakwika pakuphedwa.
M'malo mwake, kukhwima uku kumakhala koyenera popanga makina ogwiritsira ntchito, koma zikuwoneka kuti sizofunikira kwa ine kuti ndigwiritse ntchito "hello world". Ndinaganiza zoyesa zina.
Kupanga mapulogalamu mumtundu wa hpkg pogwiritsa ntchito lamulo la "package create".
Mwina, Kodi malangizo osavuta angandigwire bwino?
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 menuMosayembekezereka, zosavuta mosayembekezereka, zogwira mtima mosayembekezereka. Ndendende momwe ndimakondera, zodabwitsa!
Kuyika - chiyani komanso kuti?
Anasuntha fayilo ya QtQuickApp.hpkg ku ~/config/packagespogwiritsa ntchito woyang'anira mafayilo, pambuyo pake QtQuickApp idawonekera mwamatsenga ~/config/apps.
Apanso, mosayembekezereka mofulumira, zosavuta komanso zothandiza. Zodabwitsa, zodabwitsa!
Koma... (tikanakhala kuti popanda iwo!)
Pulogalamuyi ikusowabe pamndandanda wamapulogalamu apulogalamu ndi QuickLaunch. Ndikuganiza kuti ndikudziwa kale kukonza. Mu woyang'anira mafayilo ndimasuntha QtQuickApp.hpkg kuchoka ku ~/config/packages kupita ku /system/packages.
Ayi, ndikusowabe. Mwachiwonekere, ine (chabwino, ndi malangizo) ndinaphonya chinachake.
Nditayang'ana pa "Zamkatimu" ku HaikuDepot pazogwiritsa ntchito zina, ndidawona kuti pali mafayilo ngati /data/mimedb/application/x-vnd... chodabwitsa kwambiri ndi /data/deskbar/menu/Applications/….
Chabwino, ndiyika chiyani pamenepo? Inu...
mkdir -p data/deskbar/menu/Applications/
( cd data/deskbar/menu/Applications ; ln -s ../../../../apps/QtQuickApp . )
package add QtQuickApp.hpkg apps dataNdine wotsimikiza kuti chinyengo ichi chidzagwira ntchito, koma mafunso akadali: chifukwa chiyani izi zili zofunika, ndi chiyani? Ndikuganiza kuti izi zikuwononga malingaliro onse kuti dongosololi ndi lapamwamba kwambiri.
Monga adafotokozera Mr. waddlesplash:
Nthawi zina pamakhala mapulogalamu omwe mapulogalamu ena amafunikira koma sapezeka pa menyu. Mwachitsanzo, LegacyPackageInstaller mu chithunzi chanu, kukonza .pkg zakale mumtundu wa BeOS. Ndikufuna kuti ogwiritsa ntchito awayikire, koma kupezeka kwawo mumenyu kumabweretsa chisokonezo.
Pazifukwa zina zikuwoneka kwa ine kuti pali njira yosavuta, mwachitsanzo Hidden=true mu mafayilo .desktop pa LinuxBwanji osapanga chidziwitso "chobisika" kukhala gwero komanso mawonekedwe a fayilo?
Chomwe sichidziwika kwambiri ndi dzina la (ena) pulogalamu yomwe ikuwonetsa menyu, deskbar, womangidwa molimba m’njira.
Bambo. waddlesplash akufotokoza izi:
"Deskbar" pankhaniyi iyenera kumveka ngati mawu wamba (pafupifupi ofanana ndi "taskbar", omwe amatanthauza zonse ziwiri pulogalamu Windows, ndi lingaliro lonse). Chabwino, popeza izi ndi
deskbar, osati "Deskbar", izi zitha kumvekanso chimodzimodzi.

2 "pafupifupi ofanana" akalozera okhala ndi ntchito mmenemo
Chifukwa chiyani pali maulalo 2 omwe ali ndi mapulogalamu, komanso chifukwa chiyani QtQuickApplication yanga ili mu imodzi, koma osati ina? (Kupatula apo, iyi si dongosolo limodzi, koma wogwiritsa ntchito wachiwiri, zomwe zingamveke kwa ine ndekha).
Ndasokonezeka kwambiri ndipo ndikuganiza kuti izi ziyenera kugwirizana.
ndemanga ya mr. waddlesplash
Kalozera wa Mapulogalamuwa ali ndi mapulogalamu omwe safunikira pa menyu. Koma zomwe zili ndi menyu zimayenera kukonzedwanso, kuti zikhale zosinthika makonda.
Kugwiritsa ntchito, kapena sizichitika 😉
Ndidadzifunsa: kodi ndikofunikira kuchititsa mapulogalamu /system/apps, ngati ogwiritsa ntchito amaziwona pamenepo, sizoyenera. Mwina zingakhale bwino kuziyika pamalo ena pomwe wosuta sangakumane nazo? Monga momwe zimachitikira mu Mac OS X, pomwe zili m'maphukusi .app, zomwe siziyenera kuwoneka kwa wogwiritsa ntchito /Applications, kubisala mu kuya kwa /System/Library/…“`.
Nanga bwanji zodalira?
Ndikuganiza kuti ndikofunikira kutchula zodalira mwanjira ina, sichoncho? Kodi Qt ingatengedwe ngati gawo lovomerezeka pakukhazikitsa kwa Haiku mwachisawawa? Ayi! Qt sinayikidwe mwachisawawa. Kodi wopanga phukusi angazindikire okha kudalira mwa kuyang'ana mafayilo a ELF? Ndinauzidwa kuti HaikuPorter kwenikweni amachita izi, koma package Ayi. Ndi chifukwa ndi "wopanga phukusi" omwe amangopanga mafayilo okha hpkg.
Kodi Haiku iyenera kukhala yapamwamba kwambiri powonjezera ndondomeko kuti phukusi lisakhale ndi zodalira pa phukusi kunja kwa Haiku? haikuports? (Ndikufuna, chifukwa ndondomeko yotereyi ingapangitse zinthu kukhala zosavuta - dongosololi lidzatha kuthetsa zodalira pa phukusi lililonse lotsitsidwa kulikonse, popanda kusokoneza ndi zina zowonjezera phukusi.)
Bambo. waddlesplash akufotokoza kuti:
Sitikufuna kuchepetsa ufulu wa omanga kwambiri, chifukwa ndizodziwikiratu kuti ngati CompanyX ikufuna kuthandizira pulogalamu yakeyake ndi zodalira (ndipo posungira), idzachita momasuka.
Zikatero, kungakhale koyenera kuvomereza kuti mapaketi a chipani chachitatu apewe kudalira chilichonse chomwe sichinaphatikizidwe mu haikuports pakulongedza zonse zofunika ndi pulogalamuyi. Koma ndikuganiza kuti uwu ndi mutu wankhani yamtsogolo mumndandanda uno. [Kodi wolemba akupita ku AppImage? - pafupifupi. womasulira]
Kuyika chizindikiro cha pulogalamu
Nanga bwanji ngati ndikufuna kuwonjezera chimodzi mwazithunzi zomangidwa bwino pazida zomwe ndapanga kumene? Zikuoneka kuti uwu ndi mutu wodabwitsa, kotero udzakhala maziko a nkhani yotsatira.
Momwe mungapangire mapulogalamu osalekeza?
Ingoganizirani pulojekiti ngati Inkscape (inde, ndikudziwa kuti siyinapezeke ku Haiku, koma ndiyosavuta kuwonetsa). Iwo ali ndi source code repository https://gitlab.com/inkscape/inkscape.
Nthawi iliyonse munthu akasintha zinthu zake ku malo osungiramo zinthu, mapaipi omangira amayambika, kenako kusinthako kumayesedwa, kumangidwa, ndipo pulogalamuyo imayikidwa m'maphukusi osiyanasiyana, kuphatikizapo AppImage ya Linux (phukusi la pulogalamu yodziyimira payokha yomwe ingatsitsidwe kuti iyesedwe m'deralo mosasamala kanthu za zomwe zingayikidwe kapena zomwe sizingayikidwe pa dongosololi [Ndinadziwa! - pafupifupi. womasulira]). Zomwezo zimachitika ndi pempho lililonse lophatikizira nthambi, kuti mutha kutsitsa pulogalamu yomwe idapangidwa kuchokera pamakina omwe akufunsidwa musanaphatikize.

Gwirizanitsani zopempha ndi ziwerengero zomanga komanso kuthekera kotsitsa ma binaries omwe aphatikizidwa ngati kumangako kukuyenda bwino (cholembedwa chobiriwira)
Kapangidwe kake kamagwira ntchito m'mabokosi a Docker. GitLab imapereka ma runners aulere pa Linux, ndipo ndikuganiza kuti zingatheke kulumikiza ma custom runners (mwa njira, sindikudziwa momwe izi zingagwirire ntchito pamakina monga Haiku, omwe ndikudziwa kuti alibe Docker kapena china chilichonse chonga icho, koma FreeBSD ilibenso Docker, kotero vutoli silili la Haiku lokha).
Mwabwino kwambiri, ntchito zomangira Haiku zitha kuchitika mkati mwa chidebe cha Docker cha LinuxMunkhaniyi, kumanga kwa Haiku kungaphatikizidwe mu mapaipi omwe alipo. Kodi pali ma cross-compilers? Kapena ndiyenera kutsanzira Haiku yonse mkati mwa chidebe cha Docker pogwiritsa ntchito chinthu ngati QEMU/KVM (poganiza kuti imagwira ntchito mwanjira imeneyo mkati mwa Docker)? Mwa njira, mapulojekiti ambiri amagwiritsa ntchito mfundo zofanana. Mwachitsanzo, Scribus amachita izi—zilipo kale ku Haiku. Tsiku lina, ndidzatha kutumiza Kokani zopempha kumapulojekiti ena kuti muwonjezere thandizo la Haiku.
Mmodzi mwa opanga akufotokoza:
Kwa mapulojekiti ena omwe akufuna kupanga ma phukusi awoawo, njira yodziwika bwino ya CMake/CPack imathandizidwa. Machitidwe ena omangira amatha kuthandizidwa poyitanitsa wopanga ma phukusi mwachindunji, zomwe zingakhale bwino ngati anthu atakhala ndi chidwi. Zochitika zikuwonetsa kuti palibe chidwi chachikulu chomwe chakhalapo mpaka pano, kotero haikuporter yatigwirira ntchito, koma pamapeto pake, njira zonse ziwiri ziyenera kugwira ntchito limodzi. Tiyenera kuyambitsa zida zamapulogalamu omanga kuchokera ku Linux kapena makina ena aliwonse ogwiritsira ntchito seva (Haiku siinapangidwe kuti izigwira ntchito pa ma seva).
Anthu okonda kugwiritsa ntchito nthawi zonse akuwomba m'manja Linux Amanyamula katundu wowonjezera ndi katundu wonse (chitetezo, kuwongolera mwamphamvu, ndi zina zotero) zomwe makina ogwiritsira ntchito seva amafunikira, koma osati kompyuta. Chifukwa chake, ndikuvomereza kwathunthu kuti kuthekera kopanga mapulogalamu a Haiku pa Linux - njira yoyenera.
Pomaliza
Kuyika mapulogalamu a POSIX kupita ku Haiku ndikotheka, koma kungakhale okwera mtengo kuposa kumanganso wamba. Ndikadakhala ndi izi kwa nthawi yayitali pakadapanda thandizo la anthu ochokera kunjira ya #haiku pa netiweki ya irc.freenode.net. Koma ngakhale iwo sanali kuona mwamsanga vuto.
Mapulogalamu olembedwa mu Qt ndiosavuta. Ndayika pulogalamu yachiwonetsero yosavuta popanda vuto lililonse.
Kupanga phukusi la mapulogalamu osavuta ndikosavuta, koma kokha pa mapulogalamu "omwe amatulutsidwa mwachizolowezi", kutanthauza omwe ali ndi ma code osinthidwa omwe cholinga chake ndi kuthandizira mu haikuports. Pa zomangamanga zopitilira (kumanga kwa mgwirizano uliwonse), zinthu sizili zosavuta ndi GitHub. Pano, Haiku imawoneka ngati kugawa. Linux, kuposa zotsatira pa Mac, pomwe kudina batani la "Mangani" mu Xcode kumapanga phukusi .app, yokonzeka kuyikidwa mu chithunzi cha disk .dmg, yokonzekera kutsitsa patsamba langa.
Kusonkhanitsa mosalekeza mapulogalamu kutengera makina ogwiritsira ntchito a "seva", mwachitsanzo, Linux, mwina zingatheke ngati pali kufunikira kwa opanga mapulogalamu, koma pakadali pano pulojekiti ya Haiku ili ndi ntchito zina zofunika kwambiri.
Yesani nokha! Kupatula apo, polojekiti ya Haiku imapereka zithunzi zoyambira kuchokera ku DVD kapena USB, zopangidwa . Kuti muyike, ingotsitsani chithunzicho ndikuchiwotcha ku USB flash drive pogwiritsa ntchito
Muli ndi mafunso? Tikukuitanani ku olankhula Chirasha .
Zolakwika mwachidule:
kuchokera kumasulira: iyi ndi nkhani yachisanu pamndandanda wa Haiku.
Mndandanda wa zolemba:
Source: www.habr.com
