Quintus dies meus apud Haiku: portus aliquos progressiones lets

Quintus dies meus apud Haiku: portus aliquos progressiones lets

TL, DR: Newbie Haiku primum vidit, programmata quaedam e mundo Linux portum habere conatur.

Quintus dies meus apud Haiku: portus aliquos progressiones lets
Primus Haiku traiciatur programma, packaged in hpkg forma

recentius Inventus sum Haiku, rationem mirae bonae operandi pro PCs.
Hodie discam novas rationes ad hoc systema operandum intendere. Praecipua focus est descriptio primae experientiae mutandi ad Haiku ex parte elit Linux. Ego paenitet me de omnibus erratis stultis per viam feci, sicut ne hebdomade quidem fuit quando primum Haiku receptavi.

Volo consequi metas tres:

  • Portus simplex applicationis CLI
  • Port applicationem ex GUI ad Qt
  • Tunc sarcina eos in forma hpkg (cum adhuc cogito de adaptatione AppDir et AppImage pro Haiku...)

Incipiamus. In sectionibus Litterarum ΠΈ progressioTum minim veniam, ab HaikuPorts rectum inveni. Est etiam an PDF book online BeOS: portans Application Unix.
Paginae 467 - et haec est ab 1997! Formidolosa est introspicere, sed spero optimum. Verba elit hortantur: "diu sumpsit quod BeOS non erat POSIX-obsequium", sed Haiku "plurimum" iam talis est.

CLI simplex per applicationem portantes

Prima cogitatio ad portum applicationis avrdudesed, quod evenit, hoc iam est factum iam pridem.

Primum conantur nihil vigilare

Quod intellegere non possum iam est Apps sunt allatum ad Haiku per X annos - Quamquam ipsum OS ne version 1.0 yet.

Secundo conatus: opus ad RESCRIBO

Ita utar ptouch-770, CLI ad moderandum Fratrem P-Tange 770 Typographum quo titulos imprimendos utar.
Varios titulus in eo imprimo, et antea in superiori articulo videri potes. Paulo ante, GUI membranae programmatis in Pythone (quia in Gtk+ est) scripseram, revocandum erit, idque causa discendi causa est.

Quintus dies meus apud Haiku: portus aliquos progressiones lets
Frater P-Touch DCCLXX titulus typographus. Haiku operatur cum?

Procurator involucrum Haiku de bibliothecis et praeceptis scit, ut si "libintl" invenire non possum, nuntium currit. configure - Modo launch pkgman install devel:libintl et sarcina requiritur invenietur. Item pkgman install cmd:rsync. Bene, etc.

Nisi cum hoc non operatur:

/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

Fortasse udev nimis est Linux-substructio et ideo non est pro Haiku. Quod minime opus est ut codicem recensere quam scribere conor.
Eh, super caput tuum salire non potes, et nec scio ubi incipias.

Tertio attentent

Is would exsisto nice have tmate Haiku, tunc Haiku tincidunt permitterem cum sessione terminali meae coniungere - in casu aliquid errat. Praecepta admodum simplicia sunt;

./autogen.sh
./configure
make
make install

Spectat bonum, cur non eam in 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

In hoc gradu HaikuDepot aperiam et quaero curses.
Aliquid repertum est, quod mihi per interrogationem aptiorem attulit;

/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

Iterum adii HaikuDepot, et quidem inventus devel:msgpack_c_cpp_devel. Quae sunt haec nomina aliena?

/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

In hoc gradu intellexi rationem ad Haiku gerendi rationem multo maiorem cognitionem requirere quam ad simplicem reficere opus.
Locutus sum ad amica Haiku developers, evenit in msgpack cimex est, et post aliquot minutas moles in HaikuPorts video. Meis oculis videre possum quomodo sarcina emendata hic iens (constructum - virtualis machinis).

Quintus dies meus apud Haiku: portus aliquos progressiones lets
Msgpack ad aedificationem correctus in buildmaster

Medium moles ad adverso flumine mitto addere Haiku auxilium msgpack.

Quinque minutes post, msgpack updated iam in Haiku praesto est:

/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.

Improviso bono. dixine hoc?

Redeo ad problema originale:

/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

Nunc msgpack spectat sicut in culpa non est. Im commentum IMAXLABEL Π² tty.c ut sequitur:

tio.c_iflag &= ~(IXON|IXOFF|ICRNL|INLCR|IGNCR|/*IMAXBEL|*/ISTRIP);

effectus:

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.

Hem, hic iterum imus... Viam:

/Haiku/home/tmate> ./configure | grep -i OPENAT
checking for openat... no

Dominus. waddlesplash narrat ubi fodere;

/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.

Hic posui config.log.

Exposuerunt mihi aliud in libnetwork esse praeter libresolv in Haiku. Videtur quod signum ulterius recensendum sit. Oportet cogitare…

find . -type f -exec sed -i -e 's|lresolv|lnetwork|g'  {} ;

Interrogatio aeterna: quid agitur?

/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

Idem, in profano. Googled and hoc inveni. Si adde -lssp "Interdum" iuvat, conor:

/Haiku/home/tmate> ./configure LDFLAGS="-lbsd -lssp"
(...)/Haiku/home/tmate> make
(...)/Haiku/home/tmate> ./tmate

proh! Incipiens est! Sed…

[tmate] ssh.tmate.io lookup failure. Retrying in 2 seconds (non-recoverable failure in name resolution)

Experiar lusione file hic:

/Haiku/home/tmate> strace -f ./tmate >log 2>&1

"Malum portum ID" iam quasi negotium card haiku. Fortasse aliquis habet ideam mali et quomodo reficere? Si ita, articulum renovabo. Link to GitHub.

GUI applicatione ad Qt portandum.

Simplex application QML eligo.

/> 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!

Vere simplex. Minus quam a momento!

Applicationes packaging in hpkg haikuporto et hakuporto utens.

Quid incipiam? Nulla documenta simplex, io ad canalem #haiku in irc.freenode.net et audiunt:

  • bigas package - via humili gradu sarcinas creare. Pleraque ex parte, PackageInfo satis est pro ea, de qua in sectione "Faciens eam in sarcinam propriam .hpkg"
  • Mihi opus est facere aliquid haec
  • Vos can utor hpkg-creator (Me inruerit, Error renuntiationes)

Quid facere non liquet. Coniecto EGO egeo a hello mundo stilo incipientis duce, specimen video. Esset nice etiam ad HaikuPorter commodam introductionem habere, sicut in GNU salve fit.

Haec ego lego;

haikuporter instrumentum ad sarcinam incepta communis Haiku creandi. Repositorio HaikuPorts utitur basi omnibus fasciculis. Recipes Haikuporter fasciculos creare solent.

Accedit quod invenio;

Nulla eget felis in HaikuPorts repono. Alio repositorium facere potes, in mixturis pone, et tunc ad illud haikuporter designandum.

Id quod mihi opus est - nisi viam quaerere ut sarcinam publice emitterem. Sed hoc est argumentum alterius postis.

Installing haikuporter et 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

Scribens consequat

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
}

Consequat assembling

Servo tabella sub nomine QtQuickApp-1.0.recipepost quam deduco aikuporter -S ./QuickApp-1.0.recipe. Dependentiae omnes fasciculi in promptuario sedati sunt haikuportsaliquam suscipit tempus quam. Ibo aliquam capulus.

Cur in terra haec machinatio localis mea fieri debet, et non semel pro omnibus ministranti?

Secundum mr. waddlesplash:

Cum tali ut limam quamlibet in repositorio scribere possis πŸ˜‰ Hoc parum optimize potes, notitias necessarias computando cum opus fuerit, quia ultimae mutationes factae admodum rarae sunt.

~/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

Evenit nihil tale ut consequat regularis fasciculi qui tuum applicationis fontem codicem continet. Opus est ut eam in reposito in forma HaikuPorts servet.

~/QtQuickApp> mv QtQuickApp-1.0.recipe ../haikuports/app-misc/QtQuickApp/
~/QtQuickApp> ../haikuport
~/QtQuickApp> haikuporter -S QtQuickApp-1.0.recipe

Haec res ecclesiam graviorem facit. Id mihi non maxime placet, sed necessarium puto ut tandem omnis fons apertus programmator in HaikuPorts apparebit.

I. sequentia possideo;

~/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.

Quid mali? Lecto irc facio ;

~/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!

An interesting quaestio orta est. Si checksum addo ad reciperandum - nunquid congruit ulti- git committi ad integrationem continuam? (Elit confirmat: "Non laborabit. Recipes ad stabilitatem relative constituuntur."

Nam in consequat turpis, at consequat ante.

CHECKSUM_SHA256="cf906a65442748c95df16730c66307a46d02ab3a12137f89076ec7018d8ce18c"

Adhuc non satur;

~/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

Quid agit? Ceterum haec repositio est git, signum iam illic directe est, nihil ad EXPEDIO. Ex mea parte instrumentum satis callidum esse debet non unpacker quaerere si supra GitHub url est.

Forsitan uri git: // erit opus

SOURCE_URI="git://github.com/probonopd/QtQuickApp.git"

Nunc queritur sic:

Downloading: git://github.com/probonopd/QtQuickApp.git ...
Error: Downloading from unsafe sources is disabled in haikuports.conf!

Hmm, cur omnia tam perplexa sunt, cur "tantum opus" non potes? Ceterum non infrequens est aliquid e GitHub construere. Utrum instrumenta quae ilicet operantur, sine necessitate utendi, vel ut vocant "fusing".

Fortasse hoc sic faciet:

SOURCE_URI="git+https://github.com/probonopd/QtQuickApp.git"

Non. Ego tamen hoc fatum erroris et facio; de quo hic

sed -i -e 's|#ALLOW_UNSAFE_SOURCES|ALLOW_UNSAFE_SOURCES|g' /boot/home/config/settings/haikuports.conf

Ego paulo longius moveo, sed cur me quiritat (GitHub non est securum!) et adhuc aliquid exsolvere conatur.

secundum Dominus. waddlesplash:

Bene, ita, causa fuit, ut integritas notitiarum pro contione recipienda cuperet reprimendam. Una ex optionibus perscriptio in archivo est cognoscere, sed in singulis fasciculis detrahere potes, quod non impleri potest, quia multo longiorem capit. Consecutio haec est "insecuritas" git aliorumque VCS. Id maxime verisimile semper erit, quoniam archivum in GitHub creando satis facile est et saepe velocius. Bene, in futuro, fortasse nuntius errorum tam carnosus non erit.

~/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

Ex consuetudine vetere, Ire peto bonos homines in alveo #haiku in irc.freenode.net retis. Et ubi essem sine illis? Post admonitum me uti debere intellexi;

srcGitRev="d0769f53639eaffdcd070bddfb7113c04f2a0de8"
SOURCE_URI="https://github.com/probonopd/QtQuickApp/archive/$srcGitRev.tar.gz"
SOURCE_DIR="QtQuickApp-$srcGitRev"
CHECKSUM_SHA256="db8ab861cfec0ca201e9c7b6c0c9e5e828cb4e9e69d98e3714ce0369ba9d9522"

Bene, patuit quid agit - archivum ex fonte codice cuiusdam recognitionis incidit. Stultum est, ex parte mea, et non ita prorsus quod volebam, scilicet ut recentem recognitionem a magistro ramo detraherem.

Unus e tincidunt sic exposuit:

Nostram habemus CI, ut omnia, quae in repositorio haikuportis posita sunt, omnibus usoribus sarcinaria sint, et colligendi et tradendi periculum nolumus "omnia in recentioris versionis flumine".

InteUigite! Ceterum hoc evenit;

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
(...)

Hoc in infinitum repetit. Videtur hoc esse error (an applicatio est? invenire non potui).

Π‘ haikuporter et repositio haikuports Non habet "justum opera" sentire, sed ut elit, sunt quaedam quae mihi placet de operando cum Haiku. Pleraque ex parte similis est operae aedificandae Open, instrumentorum copiae aedificandae Linux: perquam potens, cum accessu systematico, sed overkill pro parvis meis applicatione "salve mundi".

Item, pro m. waddlesplash:

Re vera, HaikuPorter satis stricte est per defaltam (plus linteolum modus ac modus strictus ut magis etiam strictus sit!), sed solum quia fasciculos qui operabuntur creat, potius quam fasciculos creandi. Ideo queritur de dependentiis indeclaris, bibliothecis non importatis proprie, versionibus incorrectis, etc. Propositum est capere quaslibet quaestiones et omnes, etiam futuras, antequam de eo cognoscat utens (hoc est cur non potuerit avrdude instituere, quia dependentia actu in reciperando determinata erat). Bibliothecae singulae fasciculi non solum sunt vel etiam peculiares SO versiones. HaikuPorter cavet ut omnia haec observata in ipsis mixturis errores in executione vitent.

Principio, hic gradus rigoris iustificatur in creando systema operantem, sed necessarium mihi videtur ad applicationem "salve mundi". Statui aliquid aliud experiri.

Aedificium applicationes in hpkg forma utens "sarcina creare" imperium

Sit, haec Simpliciane me melius operantur instructiones?

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

Improviso celeriter, improviso simplex, inopinato efficax. Prorsus quam mihi placet, stupendum!

Institutionem β€” quid et ubi?

Motus est QtQuickApp.hpkg lima to ~/config/packagesusus procurator lima, post quam QtQuickApp pulsantes apparuit in ~/config/apps.
Iterum de improviso ieiunium simplex et efficax. Mirabile, incredibile!

Sed... (ubi sine his essemus!

App adhuc desunt e tabularum tabularum apps et QuickLaunch. Videor iam scire quomodo reficere. In tabula procuratori QtQuickApp.hpkg ab ~/config/packages ad /system/ sarcinas moveo.

Nequaquam, adhuc deest. Videtur ego aliquid desiderari.

Respecto tab "Contentorum" in HaikuDepot nonnullas alias applicationes, vidi tabellas similes esse /data/mimedb/application/x-vnd... quid magis mirum est? /data/deskbar/menu/Applications/….

Quid ibi pono? Veni...

mkdir -p data/deskbar/menu/Applications/
( cd data/deskbar/menu/Applications ; ln -s ../../../../apps/QtQuickApp . )
package add QtQuickApp.hpkg apps data

Satis certo scio hanc technam facturum esse, sed manent quaestiones: quid est hoc necessarium, quid est? Puto hanc ruinam altiore im- perandi ratio tam urbana.

Ut patet per D. waddlesplash:

Aliquando applicationes quae aliae applicationes indigent, sed non sunt in menu. Exempli gratia, LegacyPackageInstaller in screenshot, .pkg archivum in forma BeOS dispensando. Vellem utentes eos instituere, sed praesentia eorum in menu confusionem ducet.

Horum autem causa mihi videtur simplicior solutio, e.g Hidden=true in files .desktop on Linux. Cur non "absconditum" informationem subsidii et attributi tabellae systematis?

Praesertim non subtilis est nomen (quidam) applicationis quae indicat menu; deskbarstricte devincta via.

Dominus. waddlesplash explicat hoc;

"Deskbar" in hoc casu intelligi debet quasi terminus generalis quidam (quantum idem ac "negotium", quod ad utriusque applicationis Fenestram et conceptum generalem refertur). Bene, quoniam hoc deskbarnon "Deskbar", hoc etiam simili modo intelligi potest.

Quintus dies meus apud Haiku: portus aliquos progressiones lets
2 "fere eadem" directoria cum applicationibus in illis

Cur sunt 2 directoria cum applicationibus, et etiam quare mea QtQuickApplication in uno, non autem in altero? (Nam haec non una ratio una, sed secunda utentis una, quae mihi personaliter intelligi potest).
Vere confusus sum et hoc unum esse puto.

comment by mr. waddlesplash

Catalogus Apps continet applicationes quae in menu non sunt necessaria. Sed res cum menu emendari vere debet, ut magis customizable eam reddat.

Applicationem, vel non fiet

Miratus sum: itane necessarium est ut in applicationibus ad exercitum /system/appssi usores ibi videant, incommodum est. Forsitan satius esset alio in loco collocare, ubi non occurrat utentis? Sicut factum est in Mac OS X, ubi contenta fasciculorum .app, quod non sit conspicuum utentis in /Applicationslatens in profundis /System/Library/β€¦β€œ`.

Quid de clientela?

Puto pretium specificare clientelas quodammodo, vox? Potest Qt considerari pars mandatoria institutionis Haiku per defaltam? Non! Qt non installed per defaltam. Potest a sarcina artifex statim deprehendere clientelas annotando ELF files? Dictum est mihi HaikuPorter hoc facere, sed package Nec. Id est quod "sarcina fabricator" tantum est quod lima in suo proprio creat hpkg.

Nunquid Haiku magis urbanus fieri debet addendo consilium quod sarcina dependentiae in fasciculis extra Haiku non habeat? haikuports? (Libet, quia tale consilium res faciliorem redderet - systema clientelas cuiusvis sarcinae ab alicubi receptas automatice solvere posset, sine officere circum adiectis involucris fontibus.)

Dominus. waddlesplash exponit:

Nolumus libertatem tincidunt tantum circumscribere, quia perspicuum est, si CompanyX velit suum institutum programmatis cum dependentiis sustentare (et ideo repositio), id omnino libere facturum esse.

Hoc in casu, commendare dignum est quod tertia pars fasciculorum dependentias ab aliquo non in haikuportis inclusit, ut omnia, quae ad usum applicationis necessaria sunt, penitus stipendiantur. Sed hoc puto esse thema futuri articuli in hac serie. [Estne auctor versus AppImage? β€” proxime. interpres]

Addit applicationem icon

Quid si unam ex elegantissimis iconibus constructis addere ad facultates applicationis nuper creatae meae? Mirabile hoc loco evenit, sic erit ratio sequentis articuli.

Quomodo ordinare continuum applicationem aedificat?

Cogita consilium sicut Inkscape (sic, scio quod nondum in Haiku praesto est, sed commodum est in ea ostendere). Habent fontem codice repositio https://gitlab.com/inkscape/inkscape.
Quoties aliquis suas mutationes repositorium committit, fistulae fabricandae immittuntur, post quas mutationes automatice probatae, aedificatae, et applicatio in varias sarcinas, inclusa AppImage pro Linux, (in sarcina applicationis standalone, quae adhiberi potest pro loci probatione neglegens. quid sit vel non potest installed in systema [Id scivi! β€” proxime. interpres]). Hoc idem fit cum omni parte rogationis merge, ut applicationem e codice propositam in merge petitioni ante merge positam inire potes.

Quintus dies meus apud Haiku: portus aliquos progressiones lets
Merge petitiones cum aedificare status et facultatem ad download compilavit binarii si constructum est felix (in viridi notatum)

Aedificium decurrit in vasis Docker. GitLab gratis cursores in Linux offert, et cursores tuos complecti posse puto (obiter non video quomodo hoc systemata operaretur Haiku similis, quod scio non Docker aut aequivalens, sed etiam pro FreeBSD non est Docker, ergo quaestio haec Haiku singularis non est).

Specimen, Haiku applicationes intra vas Docker pro Linux aedificari possunt. Hoc in casu, conventus pro Haiku in pipelines exsistentes introduci potest. Suntne compilatores crucis? An aemulemur omnes Haiku intra Docker continentis aliquid utentem sicut QEMU/KVM (si modo in medio Docker operabitur? Obiter multa incepta similia principiis utuntur. Exempli causa, Scribus hoc facit - Haiku iam praesto est. Veniet dies unus cum mittere possum haec Petitiones trahere ad alia incepta Haiku subsidium addere.

Aliquam tincidunt dictum ex;

Ad alia incepta sarcinas ipsas creare volentes, CMake/CPack modus ordinarius sustentatur. Aliae systemata aedificandi sustentari possunt programmatis directe fabricandi appellando sarcinam, quod pulchrum est si homines in eo intersunt. Experientia ostendit: tantum non multum interest, ut haikuporter laboravit ut opportunum nobis sit, sed tandem utraque ratio simul cooperetur. Copiam instrumentorum ad programmatum crucis aedificationis ab Linux vel aliquo alio artificio operante (Haiku in servientibus currere non destinatum est) introducere debemus.

Dono stans ovans. Users Linux regulares omnia haec onera additamenta et sarcinas additas portant (securitatem, obedientiam, etc.) quae necessaria sunt ad ratio operativa servo, non autem ad personalem. Ita omnino assentior quod Haiku apps in Linux aedificare posse iter est.

conclusio,

Portare POSIX applicationes ad Haiku fieri potest, sed carior esse potest quam aedificatio typica. Hoc certe diu haererem si auxilio populi ex #haiku canali in irc.freenode.net retiacula non esset. Sed ne ipsi quidem statim quod erat nefas videbant.

Applicationes in Qt scripta facile exceptio sunt. Simplicem demo applicationem sine ullis quaestionibus compono.

Aedificare sarcinam pro applicationibus simplicibus satis facile est, sed tantum "traditionaliter dimissi", i.e. habens archivum versionis source code subsidio in Haikuportis destinatum. Continuum enim (constructum ad omne mutandum) cum GitHub, omnia non ita simplicia esse videntur. Hic Haiku plus sentit sicut distributionem Linux quam effectus in Mac, ubi cum "Aedificare" puga pyga in XCode accipis sarcinam .appparatus inseri disco imaginem .dmgparatus ad download in meo loco.
Continua aedificatio applicationum in systemate operante "servivo" operante, exempli gratia, Linux, verisimile fiet si petitur ab tincidunt, sed in momento propositi Haiku alia negotia magis urget.

Te ipsum proba! Post omnes, consilium Haiku imagines praebet ut tabernus ex DVD vel USB, generatae Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ. Inaugurationi, modo imaginem depone et eam in USB mico coegi utendo combure etcher

Possedi quaestiones? Invitamus ad Russian-loqui telegraphum channel.

Error overview: Quomodo te in pede iacies in C et C++. Haiku OS facito Collectionis

ex author translation: hoc est quintus articulus in serie de Haiku.

Index capitulorum: primus secundus tertium Quartum

Source: www.habr.com