#14391: makefile-engine fails creating catalogs
----------------------------+----------------------------
Reporter: ahwayakchih | Owner: bonefish
Type: bug | Status: new
Priority: normal | Milestone: R1
Component: Build System | Version: R1/Development
Resolution: | Keywords:
Blocked By: | Blocking:
Has a Patch: 0 | Platform: All
----------------------------+----------------------------
Comment (by ahwayakchih):
Makefile-engine part
(https://github.com/haiku/haiku/blob/546fafa0a1d5adf099af6795f9eaf6a625e9fe33/data/develop
/makefile-engine#L372-L373) looks like this:
{{{
bindcatalogs :
for lc in $(LOCALES); do linkcatkeys -o $(TARGET) -s
$(APP_MIME_SIG) -tr -l $$lc $(CATKEYS_DIR)/$$lc.catkeys; done
}}}
At first look there are ''catkeys'' everywhere there, but i've checked
source of {{{linkcatkeys}}} and then {{{kits/locale/DefaultCatalog.cpp}}}
and yeah, you're right: it "compiles" the same type of data (flattened
{{BMessage}}) as to the ''catalog'' files. Thanks :).
I guess it's confusing because the tool name is ''link**catkeys**'', it
says it takes ''catalogFiles'' as input:
{{{
"usage: linkcatkeys [-v] [-t(a|f|r)] [-o <outfile>] [-l
<catalogLang>]\n"
" -s <catalogSig> <catalogFiles>\n"
}}}
(https://github.com/haiku/haiku/blob/master/src/bin/locale/linkcatkeys.cpp#L30-L31),
but really it reads data from ''catkey'' files (both when creating
''catalog'' files and when injecting data as resource) all the while
makefile command name suggests it does something with ''catalog'' files...
Maybe ''linkcatkeys'' usage should say {{{<catkeyFiles>}}}? Although
internally it does still considers them "catalog" files, only in
"plaintext" format ;).
Anyway, back to the topic: can we fix makefile-engine so {{{make
catalogs}}} command works? Not sure how catalog files are found after
installation. Should it be a folder named after full MIME, e.g.,
''application/x-vnd.vendor.app'' (so, slash should be escaped somehow), or
a folder path, where ''application/'' part of MIME is parent folder of
''x-vnd.vendor.app'' folder (in which case {{{mkdir -p}}} would fix the
problem)?
--
Ticket URL: <https://dev.haiku-os.org/ticket/14391#comment:6>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.