[NTG-context] Build for Alpine Linux

Brian Hunt brianmhunt at gmail.com
Wed Apr 11 22:08:12 CEST 2018


So here's what I've got for a TODO so far to get ConTeXt working on Alpine
Linux with musl (subject to item #6, mtx-context.lua not being found):

1. Add the musl test to first-setup.sh
2. Add the same musl test to tex/setuptex
3. Add texlua (and texluac?) to
  a. the setup rsync bin/ directories
  b. the tex/texmf-linuxmusl(|-ppc|-64)
4. Update mtxrun

Here's code that ought to work for detecting musl in mtxrun.  Around line
3721 of the mtxrun add:

    if find(architecture,"x86_64",1,true) then
      platform="linux-64"
    elseif find(architecture,"ppc",1,true) then
      platform="linux-ppc"
    else
      platform="linux"
    end
+   if resultof("ldd --version 2>&1"):find("musl") ~= nil then
+     platform = platform:gsub("linux", "linuxmusl")
+   end

5. Note that in tex/setuptex, there's evidently no way to get the current
script so one has to explicitly provide the TeX directory (appears to be a
BusyBox bug).
6. `context` is unable to locate `mtx-context.lua`.  Some tracker output
sheds some light:
  i. context --trackers=resolvers.expansions is identical
  ii. context --trackers=resolvers.details,resolvers.details differs, with
the output attached.  Note that to keep the comparison short I removed
lines that differed only because `linux` had been changed to `linuxmusl`.

Will keep plugging away to see if I can determine why `mtx-context.lua`
cannot be found on Alpine Linux.

Thanks for reading.

Brian

-- 

*from the personal account of:*

*Brian M Hunt *<brianmhunt at gmail.com>
Direct: +1-289-684-4677
LinkedIn: https://linkedin.com/in/brianmhunt

*This e-mail may contain information that is private, privileged,
confidential and/or exempt from disclosure. Except as per this notice no
waiver of any kind is intended by sending this e-mail, and this email is
intended only for the named recipient(s) or the subscribers of a forwarding
service the email is sent directly to and to which service you are an
authorized recipient. Use, dissemination or copying without authorization
is prohibited. Please notify the sender and destroy all copies of this
e-mail if you have received this email in error.*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20180411/86995ff2/attachment.html>
-------------- next part --------------
WORKING (Debian 8)
 # context --trackers=resolvers.details
resolvers       | resolving | file 'mtx-context.lua' is not readable
resolvers       | resolving | checking name 'mtx-context.lua'
resolvers       | resolving | deep checking 'selfautoparent:texmf-project', base 'mtx-context.lua', pattern 'false'
resolvers       | resolving | deep checking 'selfautoparent:texmf-fonts', base 'mtx-context.lua', pattern 'false'
resolvers       | resolving | deep checking 'selfautoparent:texmf-local', base 'mtx-context.lua', pattern 'false'
resolvers       | resolving | deep checking 'selfautoparent:texmf-modules', base 'mtx-context.lua', pattern 'false'
resolvers       | resolving | deep checking 'selfautoparent:texmf-context', base 'mtx-context.lua', pattern 'false'
resolvers       | methods | resolving, method 'concatinators', how 'tag', tag 'file'
resolvers       | resolving | match: variant 'file', search 'selfautoparent:texmf-context/scripts/context/lua/mtx-context.lua', result 'selfautoparent:texmf-context/scripts/context/lua/mtx-context.lua'
resolvers       | resolving | deep checking 'selfautoparent:texmf-linux-64', base 'mtx-context.lua', pattern 'false'
resolvers       | resolving | deep checking 'selfautoparent:texmf', base 'mtx-context.lua', pattern 'false'
resolvers       | resolving | checking filename 'mtx-context.lua' in tree
resolvers       | resolving | using pattern '^%./$' for path '.'
resolvers       | resolving | no match to '^%./$' in hash for file 'selfautoparent:texmf-context/scripts/context/lua/mtx-context.lua' and path 'selfautoparent:texmf-context/scripts/context/lua/'
resolvers       | resolving | quick root scan for '.'
resolvers       | resolving | file './mtx-context.lua' is not readable
resolvers       | resolving | using pattern '^home:texmf/tex/context/.*$' for path 'home:texmf/tex/context//'
…

NON-WORKING (Alpine 3.7)
 # context --trackers=resolvers.details
resolvers       | resolving | file 'mtx-context.lua' is not readable
resolvers       | resolving | checking name 'mtx-context.lua'
resolvers       | resolving | deep checking 'selfautoparent:texmf-project', base 'mtx-context.lua', pattern 'false'
resolvers       | resolving | deep checking 'selfautoparent:texmf-fonts', base 'mtx-context.lua', pattern 'false'
resolvers       | resolving | deep checking 'selfautoparent:texmf-local', base 'mtx-context.lua', pattern 'false'
resolvers       | resolving | deep checking 'selfautoparent:texmf-modules', base 'mtx-context.lua', pattern 'false'
resolvers       | resolving | deep checking 'selfautoparent:texmf-context', base 'mtx-context.lua', pattern 'false'
resolvers       | resolving | deep checking 'selfautoparent:texmf-linuxmusl-64', base 'mtx-context.lua', pattern 'false'
resolvers       | resolving | deep checking 'selfautoparent:texmf', base 'mtx-context.lua', pattern 'false'
resolvers       | resolving | checking filename 'mtx-context.lua' in tree
resolvers       | resolving | quick root scan for '.'
resolvers       | resolving | file './mtx-context.lua' is not readable
resolvers       | resolving | checking filename 'mtx-context.lua', filetype 'scripts', wanted files 'mtx-context.lua’.
…


More information about the ntg-context mailing list