freemint / tos.hyp

The tos.hyp tries to document all functions from TOS. It also has information about MagiC, N.AES, MyAES, Geneva, XaAES, oAESis and some emulators.
https://freemint.github.io/tos.hyp
GNU General Public License v2.0
13 stars 10 forks source link

Several commits to fix links & structure to make source compilable again #78

Closed th-otto closed 6 years ago

th-otto commented 7 years ago

As discussed with Miro, this contains several commits that are related. They are separated as much as possible, but depend on another and should be applied in order.

mikrosk commented 7 years ago

Yeah, we've agreed on one "clean" PR even if it changes many files because a lot of changes depend on each other and we weren't able to resolve this using classic "one PR per change" approach.

Right now we only have to make this branch compilable / not crashing udo. ;)

th-otto commented 7 years ago

On Saturday 04 March 2017 14:06:41 Miro Kropacek wrote:

Right now we only have to make this branch compilable / not crashing udo. ;)

I dont' think that this crash has to do with the patches, i've seen this already in other build-logs.

mikrosk commented 7 years ago

Yes but those were your changes. :) Master is buildable all the time: https://travis-ci.org/freemint/tos.hyp/builds/207670232

th-otto commented 7 years ago

On Saturday 04 March 2017 14:32:40 Miro Kropacek wrote:

Yes but those were your changes. :) Master is buildable all the time: https://travis-ci.org/freemint/tos.hyp/builds/207670232

Yes, but only because you ignore the error code:

udo --stg -o "$PWD/gh-pages/archives/tos_hyp_de.stg" "$PWD/tos_hyp.u" || true ... Warnings: 4108 Notes: 4108 Errors: 602

The crash in html output seems to be not reproducible. The first time i ran svn-udo i had that crash here too, now i can't reproduce it:

/tmp/udo/Source/udo --html --tree -o "output/en/index.html" "tos_hyp.u"

This is UDO Version 7.04 (1296) for Linux Copyright (C) 1995-2001 by Dirk Hagedorn Copyright (C) 2001-2014 by The UDO Community UDO is Open Source (see http://www.udo-open-source.org/ for further information).

Pass 1: Pass 2... 100%

Output written to output/en/index.html

Errors: 20

th-otto commented 7 years ago

Hm, I don't get it. When i execute the following script locally, i don't get any core-dumps (with the PR-1 branch of my fork checked out):

!/bin/bash

rm -rf /tmp/udo svn co "svn://udo-open-source.org/UDO/trunk" "/tmp/udo" cd "/tmp/udo/Source" && make -f Makefile.linux cd -

cd "/tmp" test -f hcp-0.9.9-linux.tar.bz2 || wget "http://tho-otto.de/download/hcp-0.9.9-linux.tar.bz2" tar xjf hcp-0.9.9-linux.tar.bz2 cd -

rm -rf gh-pages mkdir -p "gh-pages/de/bilder" "gh-pages/en/bilder" "gh-pages/archives" cp -r "bilder/gif" "gh-pages/de/bilder" cp -r "bilder/gif" "gh-pages/en/bilder" cp "html/tos_hyp.gif" "gh-pages" /tmp/udo/Source/udo --html -o "$PWD/gh-pages/index.html" "$PWD/html/tos_hyp.u" /tmp/udo/Source/udo --html --tree -o "$PWD/gh-pages/de/index.html" "$PWD/tos_hyp.u" /tmp/udo/Source/udo --stg -o "$PWD/gh-pages/archives/tos_hyp_de.stg" "$PWD/tos_hyp.u" || true /tmp/hcp-0.9.9/bin/hcp -z -o "gh-pages/archives/tos_hyp.hyp" "gh-pages/archives/tos_hyp_de.stg" || true

cd "gh-pages/archives" zip -9 tos_hyp_de.zip "tos_hyp.hyp" "tos_hyp.ref"

rm -f .stg .uhs .uls .hyp *.ref

cd -

mv config.u config.u.orig sed -e 's/^#!language english/!language english/;' -e 's/^!language german/#!language german/;' config.u.orig > config.u.tmp && mv config.u.tmp config.u /tmp/udo/Source/udo --html --tree -o "$PWD/gh-pages/en/index.html" "$PWD/tos_hyp.u" /tmp/udo/Source/udo --stg -o "$PWD/gh-pages/archives/tos_hyp_en.stg" "$PWD/tos_hyp.u" || true /tmp/hcp-0.9.9/bin/hcp -z -o "gh-pages/archives/tos_hyp.hyp" "gh-pages/archives/tos_hyp_en.stg" || true

cd "gh-pages/archives" zip -9 tos_hyp_en.zip "tos_hyp.hyp" "tos_hyp.ref"

rm -f .stg .uhs .uls .hyp *.ref

cd -

mv config.u.orig config.u

That should essentially be the same commands as executed by .travis.yml

Can anybody reproduce it?

mikrosk commented 7 years ago

Travis VMs are quite outdated, they run on Ubuntu Trusty (x64) so your setup is most likely different. Maybe something has been fixed in libc or any of udo dependencies.

You can try installing Trusty in VirtualBox and try there.

And yes, I meant html output only, stg needs the "|| true" hack.

th-otto commented 7 years ago

Maybe something has been fixed in libc or any of udo dependencies.

udo should not have any other dependencies but libc (i think not even libm). And it is compiled on the same machine. So that would be really strange. Did you try to run the script somewhere else? I have no idea currently where the segfault is from and how to fix that if you want to stick to the svn version.

mikrosk commented 7 years ago

Yeah, on my setup (Arch Linux = everything latest versions) works fine.

As discussed, as soon as you provide patches which are a) as minimal as possible b) make stuff better (for instance make stg generation end with zero errors) we can switch to your version.

Also as noted, feel free to include download of your UDO version as part of the PR, then everyone can check that yeah, things are getting better (now we have a PR which segfaults ;))

th-otto commented 7 years ago

So it looks like we currently can't do much about the segfaults, except switching to my version of udo and hope that it works. I will try that out, but i have to prepare a downloadable version of the sources available first, or maybe just use the binaries as a first step.

for instance make stg generation end with zero errors

That should be the case when using my version. A few warnings will remain (handled in later patches), but no errors. As mentioned above, the current errors all result from the missing !label- command. If absolutely needed, that can also be turned into a !label command; the difference between the two is that !label- is ommited from automatic reference generation.

Also as noted, feel free to include download of your UDO version as part of the PR

I'll try that.

BTW one thing was a bit unclear to me. The travis.yml has several sections. In your original version you add the directory of the udo and hcp excutables in the before_script part. Are you sure that those environment variables make it to the actual script?

mikrosk commented 7 years ago

In your original version you add the directory of the udo and hcp excutables in the before_script part. Are you sure that those environment variables make it to the actual script?

Yes, totally sure. :) You can see them in action in the log above, it wouldn't work at all if the variables/commands were ignored.

th-otto commented 7 years ago

Wee. So in theory it should work now. The script currently fails due to lots of errors like this:

Error: gem/vdi/output/v_ftext.ui 36: wrong number of parameters: !nolink

These are actually errors in the source, and the reason that it worked before is just that svn-udo fails to recognize them. Those errors are addressed by later patches, but for now that would mean that applying only this PR will give you those errors.

Another thing is that i had a bit trouble with the travis.yml syntax, that's the reason for the 3 commits in the patch. If that is of concern, i can delete and recreate that PR-1 branch.

Another thing is that one of the commits is a merge of master to my PR-1 branch. This is caused by changes to the .travis.yml in the master that where done after i created my fork, and which i had to merge in order not to produce merge conflicts. It's no big deal, but might look strange in the resulting tree.

mikrosk commented 7 years ago

Feel free to rewrite history in this PR, it's your branch after all. :) The goal is to have as clean PR/merge as possible.

How hard is to apply the patches which make the source error free?

th-otto commented 7 years ago

How hard is to apply the patches which make the source error free?

Its a bit of work since, if i remember right, not all of the fixes where originally in the same patch. And the order will change, so i might have to rewrite some of the other patches, too. But putting the fixes together makes sense anyway, and its clear that those fixes should be applied asap.

So i guess that commit should be part of PR-1 then?

mikrosk commented 7 years ago

So i guess that commit should be part of PR-1 then?

Yeah, whatever it takes to make it compilable and error free. :)

th-otto commented 7 years ago

Done now ;) Should even be possible to remove those || true in the travis.yml now

th-otto commented 7 years ago

Any news on this? Could it be commited?

mikrosk commented 7 years ago

Well, Gerhard told me he'll write back to me "in a few days".

pulsar122 commented 6 years ago

I merge all in whitout really know if everything is good. It looks like that something is good for html and not for the hypertext.