Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Simon Cozens
    @simoncozens
    That one gets further.
    curl -s -L https://software.sil.org/downloads/r/gentium/GentiumPlus-5.000.zip -o GentiumPlus-5.000.zip
    [[ -h .fonts ]] && exit 1
    make: *** [.fonts] Error 1
    Caleb Maclennan
    @alerque
    Hmmm, we are asking for SHELL = bash but I wonder if macOS is actually giving it to us.
    Simon Cozens
    @simoncozens

    Added this to the end:

    whichshell:
        echo $(BASH_VERSION)

    and then I got:

    $ make whichshell
    echo
    Hang on, that's not going to work.
    $ make whichshell
    echo "$BASH_VERSION"
    5.0.2(1)-release
    So yep, that's bash.
    Caleb Maclennan
    @alerque
    echo $(SHELL)
    Simon Cozens
    @simoncozens
    bash.
    I don't understand this [[ -h .fonts ]] && exit 1 line. When the link doesn't exist, the rule will fail.
    .fonts: fontconfig.conf
        [[ -h .fonts ]] && exit 1
        mkdir -p $@
    Gives me (predictably)
    $ ls -al .fonts
    gls: cannot access '.fonts': No such file or directory
    $ make .fonts
    [[ -h .fonts ]] && exit 1
    make: *** [.fonts] Error 1
    Caleb Maclennan
    @alerque
    If .fonts is a symlink (as opposed to a directory or non-existent) skip the rest of the recipe but don't fail, exit as a success.
    No sorry, exit with a failure if it is a symlink, because we shouldn't be overwriting it inside worktrees and the rule should never have been called at all.
    It should only ever be called as a | ... order-only dependency.
    i.e. We never want to mess with updating .fonts itself only the things in it. And if it exists as a symlink we shouldn't have been asked to try to make it as a directory, it just needs to exist.
    Simon Cozens
    @simoncozens
    OK. Why the heck is it erroring out, then?
    Caleb Maclennan
    @alerque
    Does [[ -h not_a_thing ]] return true or false on your bash + filesystem?
    Simon Cozens
    @simoncozens
    bash-5.0$ [[ -h .fonts ]] ; echo $?
    1
    Caleb Maclennan
    @alerque
    With .fonts being what? A dir? nothing? a link?
    Simon Cozens
    @simoncozens
    Nothing there.
    Caleb Maclennan
    @alerque
     .fonts: fontconfig.conf
    -    [[ -h .fonts ]] && exit 1
    +    [[ -h .fonts ]] && exit 1 ||:
         mkdir -p $@
    Simon Cozens
    @simoncozens
    That works.
    Caleb Maclennan
    @alerque
    Your default shell options are different. That might trip us up elsewhere too, but we can fix it.
    Simon Cozens
    @simoncozens
    OK, figures. The test returned error 1 to make, which aborted.
    Caleb Maclennan
    @alerque
    In the event fonts doesn't exist as a symlink it should be moving on to making it as a directory.
    This should also work:
     .fonts: fontconfig.conf
    -    [[ -h .fonts ]] && exit 1 ||:
    -    mkdir -p $@
    +    [[ -h .fonts ]] || mkdir -p $@
    Simon Cozens
    @simoncozens
    Works and makes me happier.
    Caleb Maclennan
    @alerque
    Added to PR. Not sure about the deps line we dropper earlier. We kind of skipped fixing that.
    Idea....
    @@ -150,7 +150,7 @@ define runsile =
         fi
     endef
    
    -patterndeps = $(DEPDIR)/$*.d all testprep
    +patterndeps = $(wildcard $(DEPDIR)/$*.d) all testprep
    
     %.pdf: %.sil $(and $(SILE_COVERAGE)$(CLEAN),force) $$(patterndeps)
         $(runsile)
    Caleb Maclennan
    @alerque
    That's going to need another step. One sec.
    Simon Cozens
    @simoncozens
    Hang on, looks like we've gone backwards anyway.
    Caleb Maclennan
    @alerque
    @@ -143,6 +143,7 @@ pages = pdfinfo $@ | awk '$$1 == "Pages:" {print $$2}' || echo 0
     silepass = $(LOCALTESTFONTS) ./sile $(SILEFLAGS) $< -o $@ && pg0=$${pg} pg=$$($(pages))
     define runsile =
         pg0=$$($(pages)) hadtoc=$$($(hastoc))
    +    mkdir -p $(DEPDIR)
         $(silepass)
         if $(hastoc); then
             $${hadtoc} || $(silepass)
    @@ -150,7 +151,7 @@ define runsile =
         fi
     endef
    
    -patterndeps = $(DEPDIR)/$*.d all testprep
    +patterndeps = $(wildcard $(DEPDIR)/$*.d) all testprep
    
     %.pdf: %.sil $(and $(SILE_COVERAGE)$(CLEAN),force) $$(patterndeps)
         $(runsile)
    Simon Cozens
    @simoncozens
    Looks like we've got it.
    Caleb Maclennan
    @alerque
    Travis seems to agree.
    Simon Cozens
    @simoncozens
    Three known-bad tests passing...
    Otherwise OS X is happy.
    Caleb Maclennan
    @alerque
    Ya same 3 here. We know there are bugs there but the tests aren't actually catching them.
    Anything else on your end after Travis gets done taking its merry time?
    Simon Cozens
    @simoncozens
    You wanted to check OS X on a github artifact (in #768)?
    Caleb Maclennan
    @alerque
    Let me attach a new one with that make stuff fixed as in the current PR.
    Uploading....
    It's a zip (make dist-zip) because that's what I can attach to the issue, but I was planning on only posting the *.tar.bz2 source for now until we have a release on which Windows is expected to build out of the box, then on that release we can start adding zip or exes or whatever artifacts we have.
    Simon Cozens
    @simoncozens
    Where do I find these files?
    Caleb Maclennan
    @alerque
    Trying to upload, Github just rejected it as an issue attachment, sending elsewhere.
    You can make it too with make dist.
    Simon Cozens
    @simoncozens
    Ah, OK.
    Caleb Maclennan
    @alerque
    Simon Cozens
    @simoncozens
    One of us has a bad clock. :-)
    Caleb Maclennan
    @alerque
    date ... looks right to me.