postiffm / bibledit-desktop

Desktop version of Bibledit
GNU General Public License v3.0
4 stars 6 forks source link

Help working #122

Closed MatthieuVillebrun closed 4 years ago

MatthieuVillebrun commented 4 years ago

Hello, I offered help to @LAfricain to clear all the compiling problems that occured with all the changes on the documentation. I removed the doc/ folder to use only the help/ folder and sorted all the files to meet the mallard standard for futur gnome documentation. For now, when accessing "help -> contents", the documentation opens in the browser. Later we hope to include the documentation to the GUI using yelp but some work still need to be done for that.

postiffm commented 4 years ago

I pulled in these changes and did ./configure and make...here's what I have: make[2]: Entering directory '/home/postiffm/bibledit-desktop/help' make[2]: No rule to make target '.html', needed by 'all-am'. Stop. make[2]: Leaving directory '/home/postiffm/bibledit-desktop/help' Makefile:484: recipe for target 'all-recursive' failed make[1]: ** [all-recursive] Error 1 make[1]: Leaving directory '/home/postiffm/bibledit-desktop' Makefile:416: recipe for target 'all' failed make: [all] Error 2

Also, is there any reason now for the doc/ directory to exist? Mine contains Makefile and Makefile.in

MatthieuVillebrun commented 4 years ago

Also, is there any reason now for the doc/ directory to exist? Mine contains Makefile and Makefile.in

No need for the doc/ folder anymore, everything is now in the help/ folder this new name was choosen by @LAfricain to meet the documentation standards for Mallard documentation.

I had the same error, but corrected it in my last commit. It is weird because yersterday when I compiled everything the error didn't show up...

To remove the error, I cleared the help/Makefile.am that has no job to do for now. Later it will be used to compile de documentation automaticaly from .page to .html. For now I beleive @LAfricain will do it manualy when needed.

postiffm commented 4 years ago

Ultimately, I don't want a manual approach. A compiled solution is much better because it eliminates duplicate hand-work. I will pull this down and see what happens.

LAfricain commented 4 years ago

A compiled solution is much better

This is very easy, just add something like that to your scripts:

 yelp-build html site/ help/C/*page

The job will be done. The next step will be the integration of the help to default gnome help tools (yelp).

postiffm commented 4 years ago

What is the proper way to use yelp for the end user?

In the source tree, I do yelp help/C/index.page

But what if I don't have a source tree to work with?

Also, the Help menu | Contents cannot open /usr/share/bibledit-desktop/site/index.html

That file does not exist. Is the Makefile supposed to copy that stuff when I 'make install' ?

postiffm commented 4 years ago

A compiled solution is much better

This is very easy, just add something like that to your scripts:

The job will be done. The next step will be the integration of the help to default gnome help tools (yelp).

What you suggested to add is blank, I can't read anything.

LAfricain commented 4 years ago

Also, the Help menu | Contents cannot open /usr/share/bibledit-desktop/site/index.html That file does not exist. Is the Makefile supposed to copy that stuff when I 'make install' ?

Currently this pull request will resolve this problem. After this the help will work properly.

What you suggested to add is blank, I can't read anything.

Yes I have made an edit of my comment. But don't bother with this, Matthieu will do the automatic thing later. No need for it right now because the doc is finished. It migtht need a few corrections. I will work with Matthieu on it.

postiffm commented 4 years ago

What I am saying is that AFTER I pulled in the pull request changes, and rebuilt, I STILL have the problem Help menu | Contents cannot open /usr/share/bibledit-desktop/site/index.html. It seems that the pull request did not fix the problem.

MatthieuVillebrun commented 4 years ago

What I am saying is that AFTER I pulled in the pull request changes, and rebuilt, I STILL have the problem Help menu | Contents cannot open /usr/share/bibledit-desktop/site/index.html. It seems that the pull request did not fix the problem.

Ok sorry for that, I pushed new stuff. Corrected what you are telling me. I also added yelp and yelp-tools as dependecies for linux and the automated compilation of documentation. Y hope this will work with you.

postiffm commented 4 years ago

This works very well. Thank you!

postiffm commented 4 years ago

Actually there seems to be something a little bit wrong with the Makefile for the help system. It is building stuff when I say "sudo make install" to install to my system. It shouldn't be building things at that time, but rather just copying it out into the installation directories. When I make clean ; make it should build the help files at that time. Do you know what I mean?

The reason I found this out is when I checked out this pull request, and then tried to switch back to my master branch in order to merge the pull request, I got a bunch of errors like this:

$ git checkout master warning: unable to unlink 'help/site/C.css': Permission denied warning: unable to unlink 'help/site/backup.html': Permission denied warning: unable to unlink 'help/site/bibledit-desktop.html': Permission denied warning: unable to unlink 'help/site/checking.html': Permission denied warning: unable to unlink 'help/site/collaboration.html': Permission denied warning: unable to unlink 'help/site/community.html': Permission denied ......

And then if I try to switch back to that branch (git checkout villebrun-master2 in my case), I cannot do it.

For example, if Ido a git reset --hard, then checkout villebrun-master2 and build, I see this:

-rw-r--r-- 1 postiffm postiffm 9331 Aug 8 07:53 help/site/searching.html

Now do: sudo make install

Now look at the same file:

-rw-r--r-- 1 root root 9331 Aug 8 07:55 help/site/searching.html

Why does root all of a sudden become the owner of this file?

This is not the expected behavior. But from the make install log, I cannot tell how this is happening.

postiffm commented 4 years ago

It appears this is specified in help/Makefile.am

install-data-local: @rm -rf site @mkdir site @yelp-build html -o site/ C/*.page @mkdir -p $(DESTDIR)$(prefix)/$(packagedatadir) @cp -r site $(DESTDIR)$(prefix)/$(packagedatadir)

I would think the build step would be done in a build rule, not an install rule...

MatthieuVillebrun commented 4 years ago

Ok I think I know where the problem comes from. I will try to correct it. To be sure, when I sudo make install only the compiled files should be copied. The compilation has to be done during make.

postiffm commented 4 years ago

I agree--install should not have to build if the files are already built.

MatthieuVillebrun commented 4 years ago

Do you have any idea of what build rule name i should use? I can not find one...

EXTRA_DIST = site
CLEANFILES = *~

Build rule name:
    @rm -rf site
    @mkdir site
    @yelp-build html -o site/ C/*.page

install-data-local:
    @mkdir -p $(DESTDIR)$(prefix)/$(packagedatadir)
    @cp -r site $(DESTDIR)$(prefix)/$(packagedatadir)

It should look like this but no idea of the name i have to choose...

MatthieuVillebrun commented 4 years ago

Indeed I have found some thing, I am working on it right now.

postiffm commented 4 years ago

I am not sure what you would say for the dependencies. Does "all:" work for the build rule?

MatthieuVillebrun commented 4 years ago

I am not sure what you would say for the dependencies. Does "all:" work for the build rule?

all: does not work because it is executed on make install... the way it works is wierd... but I have found a way that might not need compilation at all to use the .page files directly no need to convert into .html, I am currently working on it, I hope it will work :)

postiffm commented 4 years ago

Couldn't you have a Makefile in help/site/Makefile that has a rule about how to build *.html files? Each html (like searching.html) depends on the file in ../C/searching.pages. Then that could build the html files that need to be rebuilt.

MatthieuVillebrun commented 4 years ago

Couldn't you have a Makefile in help/site/Makefile that has a rule about how to build *.html files? Each html (like searching.html) depends on the file in ../C/searching.pages. Then that could build the html files that need to be rebuilt.

I am trying this right now ;)

MatthieuVillebrun commented 4 years ago

This should do it.

postiffm commented 4 years ago

Did you forget to git add help/C/Makefile.am ?

MatthieuVillebrun commented 4 years ago

Did you forget to git add help/C/Makefile.am ?

Yes... Sorry I did it to fast yersterday. I added it in my last commit.

postiffm commented 4 years ago

This is all merged into the master branch.

postiffm commented 4 years ago

OK...so where do the yelp files go upon make install? And how do you use them ?

postiffm commented 4 years ago

Thank you for all this work. it turned out very nicely. I had to make some adjustments in a downstream branch, but it wasn't too hard to fix the conflicts.