[haiku-bugs] Re: [Haiku] #14391: makefile-engine fails creating catalogs

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Sun, 26 Aug 2018 15:59:37 -0000

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

Other related posts: