Help -problem porting luckybackup

hello all…
i’m try to make recipe for luckybackup port…
i’ve been test on my vm… package created…
i’m tested compiled application …
but confusing one show here…
when i open application from menu…
the language menu not show language list…

CaptureLuckyb
when when i open application from terminal /system/apps/LuckyBackup/LuckyBackup
menu and help show correctly…

why this happen? is this bug?

Checked and confirmed, I could set to another language when stated from Terminal in the $appsDir, the icon in the About window still doesn’t show though, could be some installation path you should check …

Use whole sentences for describing your problem.

Let me roll Detect Native Language.…
Hmm, too small sample size.

I’ll “take 20” D&D3e-style, and determine…
Indonesian?

Please try to write complete sentences. However, if you are not confident when writing English, perhaps post the same message in both English and Indonesian.

@extrowerk … sorry… for incompleteness…

I try to make recipe for luckybackup here https://github.com/mazbrili/haikuports/blob/luckybackup/app-backup/luckybackup/luckybackup-0.4.9.recipe
recipe content:

SUMMARY="A powerful, fast and reliable backup & sync tool"
DESCRIPTION="An application that backs-up and/or synchronizes any directories with the power \
of rsync. It is simple to use, fast (transfers over only changes made and not all data), safe\
 (keeps your data safe by checking all declared directories before proceeding in any data \
manipulation), reliable and fully customizable."
COPYRIGHT="2008-2017 Loukas Avgeriou"
LICENSE="GNU GPL v3"
REVISION="1"
HOMEPAGE="http://luckybackup.sourceforge.net"
SOURCE_URI="https://downloads.sourceforge.net/luckybackup/luckybackup-$portVersion.tar.gz"
CHECKSUM_SHA256="c161e98a11de5ad0a32a8e060e3fd45695a93ea3adf0581764a6b5d32e8da23b"
ADDITIONAL_FILES="luckybackup.rdef.in"

ARCHITECTURES="!x86_gcc2 x86 x86_64"
if [ "$targetArchitecture" = x86_gcc2 ]; then
 SECONDARY_ARCHITECTURES="x86"
fi

PROVIDES="
	luckybackup$secondaryArchSuffix = $portVersion
	app:LuckyBackup = $portVersion
	"
REQUIRES="
	haiku$secondaryArchSuffix
	lib:libGL$secondaryArchSuffix
	lib:libQt5Core$secondaryArchSuffix
	lib:libQt5Gui$secondaryArchSuffix
	lib:libQt5Network$secondaryArchSuffix
	lib:libQt5WebKit$secondaryArchSuffix
	lib:libQt5Widgets$secondaryArchSuffix
	lib:librsync$secondaryArchSuffix
	lib:libssl$secondaryArchSuffix
	lib:libz$secondaryArchSuffix
	"

BUILD_REQUIRES="
	haiku${secondaryArchSuffix}_devel
	devel:libGL$secondaryArchSuffix
	devel:libQt5Core$secondaryArchSuffix
	devel:libQt5Gui$secondaryArchSuffix
	devel:libQt5Network$secondaryArchSuffix
	devel:libQt5WebKit$secondaryArchSuffix
	devel:libQt5Widgets$secondaryArchSuffix
	devel:librsync$secondaryArchSuffix
	devel:libssl$secondaryArchSuffix
	devel:libz$secondaryArchSuffix
	"
BUILD_PREREQUIRES="
	cmd:gcc$secondaryArchSuffix
	cmd:ld$secondaryArchSuffix
	cmd:make
	cmd:pkg_config$secondaryArchSuffix
	cmd:qmake$secondaryArchSuffix >= 5
	"

BUILD()
{
	qmake
	make $jobArgs
}

INSTALL()
{
	#create directories
	mkdir -p "$appsDir"/LuckyBackup/{manual,translations}
	#install
	install -T ./luckybackup "$appsDir"/LuckyBackup/LuckyBackup

	# copy manpages
	mkdir -p "$manDir"/man8
	cp -r ./manpage/*.8 "$manDir"/man8/

	# copy html documentation
	cp -r ./manual/* "$appsDir"/LuckyBackup/manual/
	# copy translation
	cp -rd ./translations/*.qm "$appsDir"/LuckyBackup/translations/

	local APP_SIGNATURE="application/x-vnd.LuckyBackup"
	local MAJOR="`echo "$portVersion" | cut -d. -f1`"
	local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
	local MINOR="`echo "$portVersion" | cut -d. -f3`"
	local LONG_INFO="$SUMMARY"
	sed \
		-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
		-e "s|@MAJOR@|$MAJOR|" \
		-e "s|@MIDDLE@|$MIDDLE|" \
		-e "s|@MINOR@|$MINOR|" \
		-e "s|@LONG_INFO@|$LONG_INFO|" \
		"$portDir"/additional-files/luckybackup.rdef.in > luckybackup.rdef

	addResourcesToBinaries luckybackup.rdef "$appsDir"/LuckyBackup/LuckyBackup
	addAppDeskbarSymlink "$appsDir"/LuckyBackup/LuckyBackup
}

rdef file…

resource app_flags B_MULTIPLE_LAUNCH;

resource app_version {
	major  = @MAJOR@,
	middle = @MIDDLE@,
	minor  = @MINOR@,

	variety = B_APPV_FINAL,
	internal = 0,
	short_info = "Luckybackup",
	long_info = "@LONG_INFO@"
};

resource app_signature "@APP_SIGNATURE@";

resource file_types message {
	"types" = "application/x-bak"
};

resource vector_icon {
	$"6E636966080500040071020006043D88273D8827BED4133ED4134B1000C6104F"
	$"411942E78597C3FFE1032288FF203BAC020006033B9EE13B9EE1BB9EE13B9EE1"
	$"47C3854A3E7A0097C3FF3FE3ECFFFF3369FF020006023C3D533CC875BF1DC53E"
	$"81FA4B2B164702C13A33A2FFD43369FF050005FF05FF050604EB4B2B512E4B2B"
	$"524C49545D495D495C45020A524C5250524C5242524252BC5E4228C482B82BBE"
	$"10B4F1BA33B62736262E2AB6CFB8BEB6CFB8BEB5EAB98F26BC8E26BADB26BC8E"
	$"253D253D254031402E45BCE0BA943C3FBBCBBCACC084C20740493F48C3F9C78F"
	$"0607FF3E524C5250524C5242524252BC5E4228C482B82BBE10B4F1BA33B62736"
	$"262E2AB6CFB8BE3E3CBDE8BE5EBFFFBDF14A504A50534D0206382E382EC045BA"
	$"6EC3B448C353BEF1C3B2BEC23A2CC151B9C33A2C3A2C3A2CBAAEB66FB71EB87E"
	$"B85AB6D1B86EB788382EBA61B77B382E0209382E382EB89AB69726BC8E26B85F"
	$"26BC8E253D253D25403042B809C16BBAECBF89343CBA36BFAB36383F443E3EBF"
	$"CFC418474EC15CC5214D4FC3BE4AC3BE4A4ABF8E382EC085BA8F382E060A0101"
	$"00000A0001011001178400040A020102000A040104000A030103000A070000"
};

package created. and i try to test it…
double click package file produced to install package…
snap3
application name: LuckyBackup
translation and manual folder and content exist corretcly

1.open application via menu
result: languange menu not show (translation folder that contain translation file .qm)
menu about -> help… error not show manual page (html page in folder manual)
snap4
2.open via terminal…
LuckyBackup can find manual and traslation folder
snap5
manual: menu help -> luckybackup handbook

snap6

1 Like

excuse me…
what do you mean

I’ll “take 20” D&D3e-style, and determine…

Please excuse me. I refer to a game mechanism. It is famous among players of “Dungeons & Dragons”.

i’m sure it is a path problem, your binary is looking for manual/index.html relative to executable location, but in your package it shows that LuckyBackup binary is inside manual directory. You need to move it like this

  • apps
    • LuckyBackup
      • LuckyBackup
      • manual
        • index.html

PS: even then, you should change the way it looks for that file/directory, either add apps/LuckyBackup/ (installation directory) as a fallback or hardcode it to be the only one used.

…the path have been same with what you suggested… please refers to screenshot…
i still dont understand
whats different between running on terminal vs running via tracker?

LuckBackup binary is looking for manual/index.html in the same directory it is launched from. i.e. if you go to your home dir ~ and launch from there using the full path /system/apps/LuckyBackup/LuckyBackup it wont work becasue it is looking for ~/manual/index.html

Documentations should be placed into /boot/system/documentation/appname

And for the haiku team :slight_smile: : the documentations should be available over the deskbar menu next to applications and preference

1 Like

of course, each file to its own directory data, lib, bin, system settings, user settings and others

Current working directory

if i running from terminal… current workdir is whats it see when we exec pwd right?
how about if we click from tracker?