bugGNUstep - Bugs: bug #41125, -make documentation is...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #41125: -make documentation is un-installable

Submitted by:  Markus Hitter <hitterm>
Submitted on:  Mon 06 Jan 2014 09:15:06 PM UTC  
 
Category: MakefilesSeverity: 3 - Normal
Item Group: BugStatus: Invalid
Privacy: PublicAssigned to: None
Open/Closed: Closed

Tue 07 Jan 2014 07:06:34 AM UTC, comment #5:

> As a package, I'd also appreciate when it would be easily possible to install
> the documentation in the same run as the rest of the package.


I sympathise with this … I would like documentation to be generated and installed automatically as part of packages. However, I was outvoted on that many years ago and the policy for all the GNUstep core stuff is to have documentation separate from the rest of the package. I'm sure there were many good arguments for this even though they didn't, on balance, convince me (maybe it's been enough years that we might re-open that policy discussion).

For all the GNUstep core packages, the developer package (library/framework and headers) is built/installed separately from the documentation package.
I suppose that's a convenience on systems where policy dictates separate packages for documentation, but it seems inconvenient where no such separation is required.

Richard Frith-Macdonald <CaS>
Project Member
Tue 07 Jan 2014 06:54:56 AM UTC, comment #4:

> First, "thank you" for closing this bug before even discussing it.
> Such ignorance is the best way to shy bug reporters away.
> It takes quite some time to report quality bugs, after all.


Thanks for that … the report was quite clear enough for me not to need to ask more about it; both easy to see that it was invalid, and easy to see how the confusion arose and do something to prevent that in future.

> Looking at Documentation/GNUmakefile line 37ff, the case of installing
> documentation without having -make installed is explicitely handled.


Do you mean the bit that said?

> Please note that "make install" will install into our temporary gnustep-make directory, which is usually not particularly useful,


When I read it in context yesterday it was clear, but not as good as explicitly saying that you have to have gnustep-make installed before you can use it to build and install documentation.

> And this is a very important feature. Because when packaging stuff for
> distribution, there is no way to install parts of a package before
> building the other parts.


That would appear to be a different issue.
This issue was titled 'make documentation is un-installable' and was plainly (given your three examples) user error … a case of using an incorrect process to build/install the documentation. I can see that it's an easy mistake to make, and have attempted to make it harder for people to make that mistake in future.

>It shouldn't be too difficult to …

Maybe … I'm not maintainer of gnustep-make and don't know how difficult it would be. I do know from past discussions that Nicola is very much against adding special cases like that, on the basis that they make things more complex and less maintainable, but if it's simple/clear enough it might be OK.

> Not to mention this highly unusual requirement isn't mentioned in INSTALL at all.


As I said previously, it was implied by the process (the quick install instructions told you to configure/install gnustep-make and then to build/install the documentation), but not stated explicitly, so I changed it to state it explicitly.

Richard Frith-Macdonald <CaS>
Project Member
Mon 06 Jan 2014 11:13:36 PM UTC, comment #3:

This is in the OpenBSD gnustep-make ports Makefile, in the CONFIGURE_ENV, which sets up the environment when configure runs, since before I took over maintainership:
ac_cv_prog_LATEX2HTML=""

I never really bothered to look at it more closely, but now I understand why it is there.
As a package, I'd also appreciate when it would be easily possible to install the documentation in the same run as the rest of the package.

Sebastian

Sebastian Reitenbach <buzzdee>
Project Member
Mon 06 Jan 2014 10:57:02 PM UTC, comment #2:

Am 06.01.2014 23:20, schrieb Richard Frith-Macdonald:

> Update of bug #41125 (project gnustep):
>
> Open/Closed: Open => Closed


First, "thank you" for closing this bug before even discussing it. Such ignorance is the best way to shy bug reporters away. It takes quite some time to report quality bugs, after all.

> The problem with these installation attempts is that
> they ignore the all fail to install gnustep-make (which
> is needed to build/install the documentation).


Looking at Documentation/GNUmakefile line 37ff, the case of installing documentation without having -make installed is explicitely handled.

And this is a very important feature. Because when packaging stuff for distribution, there is no way to install parts of a package before building the other parts.

It shouldn't be too difficult to set up a makefile which sources makefile fragments from the current directory or DESTDIR / --prefix instead of the system-installed one. Just the assumption the fragments are installed system-wide is problematic.

Not to mention this highly unusual requirement isn't mentioned in INSTALL at all.

Markus Hitter <hitterm>
Mon 06 Jan 2014 10:20:34 PM UTC, comment #1:

Well, I guess the INSTALL document could/should be improved, but when I read it and followed it, it worked fine. So the documentation (INSTALL file) does tell you how to install the documentation (all the rest of it).

The problem with these installation attempts is that they ignore the all fail to install gnustep-make (which is needed to build/install the documentation). If you actually install gnustep-make and then build/install the documentation, everything appears to end up where it's expected.
The section omitted from the bug report as '[... lots of stuff snipped …]' would have said that it was building a temporary/local copy of the documentation (because gnustep-make hadn't been built/installed).

I think there was an issue that the INSTALL instructions merely told you what to do in a particular order, and didn't explicitly say that you must do things in that order (specifically, you have to configure and install gnustep-make in order to build and install the documentation). I fixed that.

Richard Frith-Macdonald <CaS>
Project Member
Mon 06 Jan 2014 09:15:06 PM UTC, original submission:

A few days ago Richard called looking at the documentation a "radical concept". Joking, of course.

Let's see on how to install it:

$ ./configure --prefix=/home/mah/gnustep/docinstallation --with-layout=fhs-system
$ cd Documentation/
$ make
$ make install
[... lots of stuff snipped ...]
Making install for doc gnustep-howto...
Creating /usr/share/GNUstep/Documentation/User/GNUstep...
mkdir: cannot create directory ‘/usr/share/GNUstep/Documentation’: Permission denied

OUCH! --prefix totally ignored.

Let's try again (after removing a lot of stuff not cleaned by "make distclean" manually, see also bug #41026):

$ sudo apt-get purge gnustep*
(open a new shell for a clean environment)
$ ./configure --prefix=/home/mah/gnustep/docinstallation
$ cd Documentation/
$ make
$ make install
$ ls /home/mah/gnustep/docinstallation
ls: cannot access /home/mah/gnustep/docinstallation: No such file or directory

Third try:
$ ./configure --prefix=/home/mah/gnustep/docinstallation --with-layout=fhs-system
$ cd Documentation/
$ make
$ make install DESTDIR=/home/mah/gnustep/docinst
$ find /home/mah/gnustep/docinst
/home/mah/gnustep/docinst
[ ^^ It exists! ^^ ]
/home/mah/gnustep/docinst/home
/home/mah/gnustep/docinst/home/mah
[...]
/home/mah/gnustep/docinst/home/mah/gnustep/make/Documentation/tmp-installation/System/Library/Documentation
/home/mah/gnustep/docinst/home/mah/gnustep/make/Documentation/tmp-installation/System/Library/Documentation/info
[ ^^ BOOO ^^ ]
/home/mah/gnustep/docinst/home/mah/gnustep/make/Documentation/tmp-installation/System/Library/Documentation/Developer/Make/ReleaseNotes
[...]

Totally in the wrong place and ignoring filesystem layout.

Markus Hitter <hitterm>

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by buzzdee (Posted a comment)
  • -unavailable- added by CaS (Posted a comment)
  • -unavailable- added by hitterm (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 06 Jan 2014 10:20:34 PM UTCCaSStatusNone=>Invalid
      Open/ClosedOpen=>Closed

    Back to the top


    Powered by Savane 3.1-cleanup1