Re: [bug #41125] -make documentation is un-installable
On 9 Jan 2014, at 19:49, Markus Hitter m...@jump-ing.de wrote: Am 08.01.2014 13:11, schrieb Niels Grewe: In fact it’s very, very easy to switch the documentation to using the present (not yet installed) configuration: You just have to set GNUSTEP_MAKEFILES=../ at the beginning of Documentation/GNUmakefile. After evaluating this more closely, it's indeed very good: - First time I see HTML documentation installed. - .info documentation is installed again. - Usage of DESTDIR works fine. - Unless the documentation installation process is changed drastically, makefile fragments in the source dir always share their hierarchy with the installed ones. That's how documentation.make works. - Cleaning works fine. - Build time for the whole thing almost cut in half (one run of configure instead of three). - About 40 lines of complicated code removed. The only minor problem not solved is, make -C Documentation distclean _without_ configuring previously errors out (instead of doing nonsense before). Patch attached. It adresses Richards concerns in comments. Hi Markus ... When Niels suggested setting GNUSTEP_MAKEFILES at the 'beginning' of the makefile, I suspect he meant that, for your special case, you should set it in your environment before running the makefile. However, I tried your patch as follows: $ cd Documentation $ make ../common.make:61: ../config-noarch.make: No such file or directory /bin/sh: ../config.guess: No such file or directory /bin/sh: ../config.sub: No such file or directory /bin/sh: ../cpu.sh: No such file or directory /bin/sh: ../vendor.sh: No such file or directory /bin/sh: ../os.sh: No such file or directory /bin/sh: ../clean_cpu.sh: No such file or directory /bin/sh: ../clean_vendor.sh: No such file or directory /bin/sh: ../clean_os.sh: No such file or directory ../common.make:100: .././config.make: No such file or directory ../common.make:148: ../filesystem.make: No such file or directory ../common.make:857: WARNING: Your PATH may not be set up correctly ! ../common.make:858: Please try again after adding to your path make: *** No rule to make target `../filesystem.make'. Stop. Obviously it doesn't work because gnustep-make hasn't been configured yet. You could presumably work around that issue by checking to see if the configuration has been completed successfuly in order to decide whether to define GNUSTEP_MAKEFILES tyo be ../ or not. Alternatively, how about implementing Sebastien's good suggestion: For that matter, if the gnustep-make package would support generating and installing the documentation in one go, i.e. ./configure make make install (which would go for me on OpenBSD into a fake environment) make install-docs (that would use the values from configure, and also install in that fake environment) or an install-all (installing the makefiles and the docs with one command) That seems a great extension which won't breask any existing functionality. ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
On 10 Jan 2014, at 08:26, Richard Frith-Macdonald richardfrithmacdon...@gmail.com wrote: On 9 Jan 2014, at 19:49, Markus Hitter m...@jump-ing.de wrote: Am 08.01.2014 13:11, schrieb Niels Grewe: In fact it’s very, very easy to switch the documentation to using the present (not yet installed) configuration: You just have to set GNUSTEP_MAKEFILES=../ at the beginning of Documentation/GNUmakefile. After evaluating this more closely, it's indeed very good: - First time I see HTML documentation installed. - .info documentation is installed again. - Usage of DESTDIR works fine. - Unless the documentation installation process is changed drastically, makefile fragments in the source dir always share their hierarchy with the installed ones. That's how documentation.make works. - Cleaning works fine. - Build time for the whole thing almost cut in half (one run of configure instead of three). - About 40 lines of complicated code removed. The only minor problem not solved is, make -C Documentation distclean _without_ configuring previously errors out (instead of doing nonsense before). Patch attached. It adresses Richards concerns in comments. Hi Markus ... When Niels suggested setting GNUSTEP_MAKEFILES at the 'beginning' of the makefile, I suspect he meant that, for your special case, you should set it in your environment before running the makefile. However, I tried your patch as follows: $ cd Documentation $ make ../common.make:61: ../config-noarch.make: No such file or directory /bin/sh: ../config.guess: No such file or directory /bin/sh: ../config.sub: No such file or directory /bin/sh: ../cpu.sh: No such file or directory /bin/sh: ../vendor.sh: No such file or directory /bin/sh: ../os.sh: No such file or directory /bin/sh: ../clean_cpu.sh: No such file or directory /bin/sh: ../clean_vendor.sh: No such file or directory /bin/sh: ../clean_os.sh: No such file or directory ../common.make:100: .././config.make: No such file or directory ../common.make:148: ../filesystem.make: No such file or directory ../common.make:857: WARNING: Your PATH may not be set up correctly ! ../common.make:858: Please try again after adding to your path make: *** No rule to make target `../filesystem.make'. Stop. Obviously it doesn't work because gnustep-make hasn't been configured yet. You could presumably work around that issue by checking to see if the configuration has been completed successfuly in order to decide whether to define GNUSTEP_MAKEFILES tyo be ../ or not. Alternatively, how about implementing Sebastien's good suggestion: For that matter, if the gnustep-make package would support generating and installing the documentation in one go, i.e. ./configure make make install (which would go for me on OpenBSD into a fake environment) make install-docs (that would use the values from configure, and also install in that fake environment) or an install-all (installing the makefiles and the docs with one command) That seems a great extension which won't breask any existing functionality. Actually, it looks like I'll have some time today, so I'll have a go at implementing both changes. ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
Am 10.01.2014 09:26, schrieb Richard Frith-Macdonald: However, I tried your patch as follows: $ cd Documentation $ make Unbelievable! What from ... Am 09.01.2014 20:49, schrieb Markus Hitter: The only minor problem not solved is, make -C Documentation distclean _without_ configuring previously errors out (instead of doing nonsense before). ... didn't you understand? Believe me, I'm done with this bullshit. If you insist in ignoring everything which doesn't fit you extremely narrow mind and insist in making things far more complex than neccessary, please continue. But don't bother me. Until yesterday I tried to find a way for converging some of the forks of GNUstep. Glad to see these considerations have come to an end just this minute. I'll join one of the forks. Good luck for all of you! Markus -- - - - - - - - - - - - - - - - - - - - Dipl. Ing. (FH) Markus Hitter http://www.reprap-diy.com/ http://www.jump-ing.de/ ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
On 10 Jan 2014, at 09:43, Richard Frith-Macdonald richardfrithmacdon...@gmail.com wrote: On 10 Jan 2014, at 08:26, Richard Frith-Macdonald richardfrithmacdon...@gmail.com wrote: On 9 Jan 2014, at 19:49, Markus Hitter m...@jump-ing.de wrote: Am 08.01.2014 13:11, schrieb Niels Grewe: In fact it’s very, very easy to switch the documentation to using the present (not yet installed) configuration: You just have to set GNUSTEP_MAKEFILES=../ at the beginning of Documentation/GNUmakefile. After evaluating this more closely, it's indeed very good: - First time I see HTML documentation installed. - .info documentation is installed again. - Usage of DESTDIR works fine. - Unless the documentation installation process is changed drastically, makefile fragments in the source dir always share their hierarchy with the installed ones. That's how documentation.make works. - Cleaning works fine. - Build time for the whole thing almost cut in half (one run of configure instead of three). - About 40 lines of complicated code removed. The only minor problem not solved is, make -C Documentation distclean _without_ configuring previously errors out (instead of doing nonsense before). Patch attached. It adresses Richards concerns in comments. Hi Markus ... When Niels suggested setting GNUSTEP_MAKEFILES at the 'beginning' of the makefile, I suspect he meant that, for your special case, you should set it in your environment before running the makefile. However, I tried your patch as follows: $ cd Documentation $ make ../common.make:61: ../config-noarch.make: No such file or directory /bin/sh: ../config.guess: No such file or directory /bin/sh: ../config.sub: No such file or directory /bin/sh: ../cpu.sh: No such file or directory /bin/sh: ../vendor.sh: No such file or directory /bin/sh: ../os.sh: No such file or directory /bin/sh: ../clean_cpu.sh: No such file or directory /bin/sh: ../clean_vendor.sh: No such file or directory /bin/sh: ../clean_os.sh: No such file or directory ../common.make:100: .././config.make: No such file or directory ../common.make:148: ../filesystem.make: No such file or directory ../common.make:857: WARNING: Your PATH may not be set up correctly ! ../common.make:858: Please try again after adding to your path make: *** No rule to make target `../filesystem.make'. Stop. Obviously it doesn't work because gnustep-make hasn't been configured yet. You could presumably work around that issue by checking to see if the configuration has been completed successfuly in order to decide whether to define GNUSTEP_MAKEFILES tyo be ../ or not. Alternatively, how about implementing Sebastien's good suggestion: For that matter, if the gnustep-make package would support generating and installing the documentation in one go, i.e. ./configure make make install (which would go for me on OpenBSD into a fake environment) make install-docs (that would use the values from configure, and also install in that fake environment) or an install-all (installing the makefiles and the docs with one command) That seems a great extension which won't breask any existing functionality. Actually, it looks like I'll have some time today, so I'll have a go at implementing both changes. And indeed, it turns out to be quite easy to: a. fix that patch to continue to work for the vast majority of newbies who try to make without configure and b. implement Sebastien's suggestions for convenient build targets for packagers I comitted those, so you can try them out. ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
Am 08.01.2014 13:11, schrieb Niels Grewe: In fact it’s very, very easy to switch the documentation to using the present (not yet installed) configuration: You just have to set GNUSTEP_MAKEFILES=../ at the beginning of Documentation/GNUmakefile. After evaluating this more closely, it's indeed very good: - First time I see HTML documentation installed. - .info documentation is installed again. - Usage of DESTDIR works fine. - Unless the documentation installation process is changed drastically, makefile fragments in the source dir always share their hierarchy with the installed ones. That's how documentation.make works. - Cleaning works fine. - Build time for the whole thing almost cut in half (one run of configure instead of three). - About 40 lines of complicated code removed. The only minor problem not solved is, make -C Documentation distclean _without_ configuring previously errors out (instead of doing nonsense before). Patch attached. It adresses Richards concerns in comments. Markus -- - - - - - - - - - - - - - - - - - - - Dipl. Ing. (FH) Markus Hitter http://www.reprap-diy.com/ http://www.jump-ing.de/ From b4bf5f3df7fec3714f26c9cc42e8cbee076607b2 Mon Sep 17 00:00:00 2001 From: Markus Hitter m...@jump-ing.de Date: Thu, 9 Jan 2014 18:02:05 +0100 Subject: Documentation/GNUmakefile: allow installation without having make installed. The approach is very simple and robust: just use the makefile fragments in the source tree as-is. The previous one was pretty fragile and not yet complete, anyways. Thanks to Niels Grewe for hinting to this excellent solution. --- Documentation/GNUmakefile | 66 --- 1 file changed, 11 insertions(+), 55 deletions(-) diff --git a/Documentation/GNUmakefile b/Documentation/GNUmakefile index 1766099..21c2ebf 100644 --- a/Documentation/GNUmakefile +++ b/Documentation/GNUmakefile @@ -4,63 +4,21 @@ # The GNUmakefile itself is written using gnustep-make. If we find an # existing gnustep-make installation, we use it. Otherwise, we -# configure, compile and install gnustep-make into a temporary -# subdirectory, then we use that copy. +# use the source tree as-is. As all makefile fragments in the source tree +# are placed the same way as they're installed, this works fine. -# In the very unlikely event that gnustep-make does not even install -# on your machine, please get a pre-generated copy of the -# documentation from the internet! Or just read the documentation in -# source format. :-) +# If future changes happen to introduce different behaviour between the +# makefile fragments in the source tree and installed ones (which is not +# a trivial change), this strategy has to be reviewed. One possible solution +# then is to install make into a temporary directory (DESTDIR?) first, then to +# use these. Nevertheless it's important for packaging and cross-compiling to +# have documentation installation work without having make installed +# system-wide previously. ifeq ($(GNUSTEP_MAKEFILES),) + GNUSTEP_MAKEFILES=.. +endif -# We have no gnustep-make installation to use. We need gnustep-make -# to generate the documentation. - -# To help lazy cows who want to type 'make' and have all work -# automatically without installating gnustep-make first, if we don't -# have a gnustep-make installation to use, we create a temporary one -# in the subdirectory ./tmp-installation, the run make again passing -# GNUSTEP_MAKEFILES set to point to the new makefile installation - -# To execute all, or clean, we first depend on a local -# temporary installation of gnustep-make; when we have it, we source -# GNUstep.sh, then we run the make command again. -all regenerate: ./tmp-installation/System/Library/Makefiles - @echo ** Running 'make $@' using the local/temporary gnustep-make installation ** - $(MAKE) $@ GNUSTEP_MAKEFILES=$(CURRENT_DIR)/tmp-installation/System/Library/Makefiles - @echo ** Finished local/temporary documentation in $(CURRENT_DIR)/tmp-installation. ** - @echo ** Use an installed gnustep-make if you wish to install documentation. ** - -clean: ./tmp-installation/System/Library/Makefiles - $(MAKE) $@ GNUSTEP_MAKEFILES=$(CURRENT_DIR)/tmp-installation/System/Library/Makefiles - -install: - @echo ** To install the documentation you first install/set-up gnustep-make ** - -CURRENT_DIR = $(shell pwd) - -# This creates a local temporary installation of GNUstep-make -./tmp-installation/System/Library/Makefiles: - @echo ** No gnustep-make installation found, attempting to create a local/temporary one. ** - (mkdir tmp-build; \ - cd tmp-build; \ - ../../configure --prefix=$(CURRENT_DIR)/tmp-installation \ - --with-layout=gnustep \ - --with-config-file=$(CURRENT_DIR)/tmp-installation/GNUstep.conf; \ - make; \ - make install) - -distclean: - -(if [ -f ./tmp-installation/System/Library/Makefiles/common.make ]; then \ - $(MAKE) $@
Re: [bug #41125] -make documentation is un-installable
Hi guys, I think I finally get what Markus’ problem is. The question is rather not whether installing gnustep-make should implicitly install its documentation, the question rather is which configuration you expect the ./Documentation subdirectory to use. Markus expects it to use the configuration you just set using make’s configure script, while it in fact will use the configuration of the last installed version of gnustep-make. I don’t think there is a technical reason why we would require that behaviour, because gnustep-make is already configured and we know where things will be installed. In fact it’s very, very easy to switch the documentation to using the present (not yet installed) configuration: You just have to set GNUSTEP_MAKEFILES=../ at the beginning of Documentation/GNUmakefile. Cheers, Niels Am 08.01.2014 um 06:21 schrieb Richard Frith-Macdonald richardfrithmacdon...@gmail.com: On 7 Jan 2014, at 21:31, Markus Hitter m...@jump-ing.de wrote: This prerequisite you talk about is a showstopper in some environments and does not solve the problem. If having showstoppers is the intention, I feel sorry for GNUstep. Please, please, calm down and try to help me here; I'm asking for information about what the problem. Saying it's 'a showstopper' means something to you, but it doesn't tell anyone else anything. We need to have it explained to us in what way it's an issue for you. It does not seem reasonable for it to be a showstopper for anything (lots of packages have dependencies, so there's no obvious reason why this should be special), especially given the flexibility of location/configuratrion available with the environment variables and config file... so you really need to explain in some detail. It can't install the documentation because, at this point you haven't configured/installed gnustep-make, so the eventual installation location is unknown. It could, because at this point -make is actually configured, so the installation location and layout is defined. But it ignores each of --prefix, --with-layout and DESTDIR. That's what I'm talking about and that's what the shell snippets demonstrate. I see your point ... you have run the configure script on gnustep-make, and you expect the documentation package to use the configuration settings you specified then. But the documentation package is consistent with all other packages (so the concept is simple ... you install gnustep-make and then everything else in gnustep is built/installed using that) ... it uses your currently selected gnustep-make installation to determine where to install things. When you don't have a gnustep-make installation selected, it could guess that it should build/install one based on the current config in the enclosing directory, but it hasn't been told to do that and could well be doing the wrong thing if it did ... given that you haven't installed gnustep-make it's a fair assumption that you have not yet configured it as you want it. You could add support for some variation of this behavior, document it clearly (since it's not the nmormal behavior), and perhaps make the build/install process prompt the user to confirm that they really want to do it. I have another ~15 bugs similar to this one stacked. Well, [...] Please scratch that. Very apparently it's much easier to fix the bug than to explain somebody with commit privileges that the bug is actually a bug, so I'll do this next time (and keep the patch in the packaging patch stack). Perhaps if you supplied patches it would be clearer what you are trying to achieve (often the code clarifies the explanation as well as an explanation clarifying code). It's a shame you don't feel willing/able to take time to explain the problems; I feel sure that if you did so you would find that many have simple solutions, or could at least come up with solutions consistent with behavior elsewhere. We do need to be able to understand more about what you need to do in order to suggest ways that you can do it. ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
Am 08.01.2014 13:11, schrieb Niels Grewe: Markus expects it to use the configuration you just set using make’s configure script, while it in fact will use the configuration of the last installed version of gnustep-make. Thank you. That's entirely the point. Because in some environments there is no last installed version of gnustep-make. In fact it’s very, very easy to switch the documentation to using the present (not yet installed) configuration: You just have to set GNUSTEP_MAKEFILES=../ at the beginning of Documentation/GNUmakefile. +5 for your guru level :-) I'll try this. Markus -- - - - - - - - - - - - - - - - - - - - Dipl. Ing. (FH) Markus Hitter http://www.reprap-diy.com/ http://www.jump-ing.de/ ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
On 8 Jan 2014, at 12:38, Markus Hitter m...@jump-ing.de wrote: Am 08.01.2014 13:11, schrieb Niels Grewe: Markus expects it to use the configuration you just set using make’s configure script, while it in fact will use the configuration of the last installed version of gnustep-make. I eventually got that. Thank you. That's entirely the point. Because in some environments there is no last installed version of gnustep-make. I'd still like to know why you can't set one up? In fact it’s very, very easy to switch the documentation to using the present (not yet installed) configuration: You just have to set GNUSTEP_MAKEFILES=../ at the beginning of Documentation/GNUmakefile. +5 for your guru level :-) I'll try this. Since defining GNUSTEP_MAKEFILES to ../ before running make is telling it that gnustep-make is installed in ../ this has a good chance of working perfectly. But, if the normal install process changes the layout of files at all (ie the relationships between the installed files is not the same as the relationships between them before installation), there might be some problems; which is why I suggested installing somewhere first (eg install to ./tmp and then use that copy) as the current Documentation GNUmakefile does. So the safe way to do it would be to have a script something like configure export DESTDIR=./tmpinst make install cd Documentation export GNUSTEP_MAKEFILES =../tmpinst/pathtomakefilesdependingonlayoutyouused make install unset GNUSTEP_MAKEFILES cd .. rm -rf ./tmpinst ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
Am 08.01.2014 14:54, schrieb Richard Frith-Macdonald: On 8 Jan 2014, at 12:38, Markus Hitter m...@jump-ing.de wrote: Thank you. That's entirely the point. Because in some environments there is no last installed version of gnustep-make. I'd still like to know why you can't set one up? Simply set it as a given. Else you'd have to learn how cross-compilation and/or packaging (which is pretty much cross-compilation with target == host) works. Since defining GNUSTEP_MAKEFILES to ../ before running make is telling it that gnustep-make is installed in ../ this has a good chance of working perfectly. But, if the normal install process changes the layout of files at all (ie the relationships between the installed files is not the same as the relationships between them before installation), there might be some problems; Then simply don't let this happen. -make is in full control of the situation, code possibly bringing up the problems you describe would have yet to be written. All we apparently need is the GNUSTEP_MAKEFILES location and the contents _inside_ this one doesn't change with the various filesystem layouts. Markus -- - - - - - - - - - - - - - - - - - - - Dipl. Ing. (FH) Markus Hitter http://www.reprap-diy.com/ http://www.jump-ing.de/ ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
On Wednesday, January 8, 2014 14:54 CET, Richard Frith-Macdonald richardfrithmacdon...@gmail.com wrote: On 8 Jan 2014, at 12:38, Markus Hitter m...@jump-ing.de wrote: Am 08.01.2014 13:11, schrieb Niels Grewe: Markus expects it to use the configuration you just set using make’s configure script, while it in fact will use the configuration of the last installed version of gnustep-make. I eventually got that. Thank you. That's entirely the point. Because in some environments there is no last installed version of gnustep-make. I'd still like to know why you can't set one up? I think this is mostly a problem packagers are facing. For example, I create a package for gnustep-make, then install it. But then, I'm done with it. at least on OpenBSD, there is no easy way, to rely on an installed version of the same package, to build additional components out of it. With a lot of dirty tricks, I likely could get around it, maybe use the installed version from the fake stage in the packaging process to generate the documentation. But that would likely end up in something very ugly. Since as I understand Markus has the similar/same problem for his Debian or Ubuntu packages, I can guess others for other SO/distros face similar problems. I don't know, Fred, aren't you experimenting with GNUstep packages on the SUSE build server, how is it working there for you? For that matter, if the gnustep-make package would support generating and installing the documentation in one go, i.e. ./configure make make install (which would go for me on OpenBSD into a fake environment) make install-docs (that would use the values from configure, and also install in that fake environment) or an install-all (installing the makefiles and the docs with one command) hope above was not too confusing ;) cheers, Sebastian In fact it’s very, very easy to switch the documentation to using the present (not yet installed) configuration: You just have to set GNUSTEP_MAKEFILES=../ at the beginning of Documentation/GNUmakefile. +5 for your guru level :-) I'll try this. Since defining GNUSTEP_MAKEFILES to ../ before running make is telling it that gnustep-make is installed in ../ this has a good chance of working perfectly. But, if the normal install process changes the layout of files at all (ie the relationships between the installed files is not the same as the relationships between them before installation), there might be some problems; which is why I suggested installing somewhere first (eg install to ./tmp and then use that copy) as the current Documentation GNUmakefile does. So the safe way to do it would be to have a script something like configure export DESTDIR=./tmpinst make install cd Documentation export GNUSTEP_MAKEFILES =../tmpinst/pathtomakefilesdependingonlayoutyouused make install unset GNUSTEP_MAKEFILES cd .. rm -rf ./tmpinst ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
On 8 Jan 2014, at 14:53, Markus Hitter m...@jump-ing.de wrote: Am 08.01.2014 14:54, schrieb Richard Frith-Macdonald: On 8 Jan 2014, at 12:38, Markus Hitter m...@jump-ing.de wrote: Thank you. That's entirely the point. Because in some environments there is no last installed version of gnustep-make. I'd still like to know why you can't set one up? Simply set it as a given. Else you'd have to learn how cross-compilation and/or packaging (which is pretty much cross-compilation with target == host) works. My problem with taking it as a given is that gnustep-make is designed to support packaging, and I read in its documentation that it supports cross-compilation ... so if either of those is not the case its a bug which should be fixed. ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
Hi, Sebastian Reitenbach wrote: I think this is mostly a problem packagers are facing. For example, I create a package for gnustep-make, then install it. But then, I'm done with it. at least on OpenBSD, there is no easy way, to rely on an installed version of the same package, to build additional components out of it. I don't know for OpenBSD, but I used to maintain RPMs for GNUstep. You must be able to rely on an installed package: e.g. you can rely on make or gcc as a build dependency (RPMs specify build and runtime dependencies). So when installing base, you need to set gnustep-make as a dependency and so on. The resulting package was a binary + dev package and of course to build, you ned the dev-package of the previous. GNUstep-make while bing a dev package was set as a dependency. So the only difficult package for me was gnustep-make (and libobjc-1 back then) all the rest worked more or less out of the box, chaining build-dependencies. gnustep-make of course gets build in a clean environment, except basic dependencies. No previous installation is assumed, since it is clean. Riccardo ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
On 8 Jan 2014, at 14:57, Sebastian Reitenbach sebas...@l00-bugdead-prods.de wrote: On Wednesday, January 8, 2014 14:54 CET, Richard Frith-Macdonald richardfrithmacdon...@gmail.com wrote: On 8 Jan 2014, at 12:38, Markus Hitter m...@jump-ing.de wrote: Am 08.01.2014 13:11, schrieb Niels Grewe: Markus expects it to use the configuration you just set using make’s configure script, while it in fact will use the configuration of the last installed version of gnustep-make. I eventually got that. Thank you. That's entirely the point. Because in some environments there is no last installed version of gnustep-make. I'd still like to know why you can't set one up? I think this is mostly a problem packagers are facing. For example, I create a package for gnustep-make, then install it. But then, I'm done with it. at least on OpenBSD, there is no easy way, to rely on an installed version of the same package, to build additional components out of it. With a lot of dirty tricks, I likely could get around it, maybe use the installed version from the fake stage in the packaging process to generate the documentation. But that would likely end up in something very ugly. Since as I understand Markus has the similar/same problem for his Debian or Ubuntu packages, I can guess others for other SO/distros face similar problems. I don't know, Fred, aren't you experimenting with GNUstep packages on the SUSE build server, how is it working there for you? For that matter, if the gnustep-make package would support generating and installing the documentation in one go, i.e. ./configure make make install (which would go for me on OpenBSD into a fake environment) make install-docs (that would use the values from configure, and also install in that fake environment) or an install-all (installing the makefiles and the docs with one command) I'm sure you could do that quite easily ... sounds like a good idea as a convenience. But even without that, my assumption about package building is that when packaging you basically always run a script to build/install the software in a location for the packaging system to wrap up into the actual package archive format. That script ought to be able to either use a pre-installed copy of gnustep-make (ie when you have already packaged it and then installed it, so its a dependency of the package you are building now) or use the copy it's packaging, or install a local temporary copy to use. So, for instance, the last case you suggest (installing gnustep-make and its documentsation together), the script might do: configure ... export DESTDIR=... make install export GNUSTEP_MAKEFILES=... cd Documentation make install Yes, that's three commands longer than if you had 'make install-all', but does it matter in a script? So it must be here that I'm missing something ... the reason why the packaging process can't execute a script to build a package perhaps? Are there package builders that prohibit the use of siomple scripts like this? If so, how do they actually build things? ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
Am 07.01.2014 21:32, schrieb Richard Frith-Macdonald: To me the term 'shell snippet' means a script to be executed and I haven't seen you provide that. I gave a bunch of commands which can be copy pasted into a shell as-is. So, again I'm guessing a bit ... the only think I can think of three of, were three examples of trying to install documentation wikthout having first installed gnustep-make. But if that's what you are referring to, why are you asking me to 'try' them (particularly when I've already explained a few times that installing gnustep-make is a prerequisite for everything else, and build/install without gnustgep-make is not expected/intended to work)? Perhaps you missed reading one or two of my emails (or perhaps I missed one of yours)? I'm very well capable of reading your emails and did so, but none of them gave a satisfying answer. This prerequisite you talk about is a showstopper in some environments and does not solve the problem. If having showstoppers is the intention, I feel sorry for GNUstep. Documentation/GNUmakefile line 37ff attempts to go such a route without packaging, but it's buggy and/or incomplete. But I mentioned the latter already. I don't know what 37ff means line 37ff = line 37 and the following lines. It can't install the documentation because, at this point you haven't configured/installed gnustep-make, so the eventual installation location is unknown. It could, because at this point -make is actually configured, so the installation location and layout is defined. But it ignores each of --prefix, --with-layout and DESTDIR. That's what I'm talking about and that's what the shell snippets demonstrate. I have another ~15 bugs similar to this one stacked. Well, [...] Please scratch that. Very apparently it's much easier to fix the bug than to explain somebody with commit privileges that the bug is actually a bug, so I'll do this next time (and keep the patch in the packaging patch stack). Markus -- - - - - - - - - - - - - - - - - - - - Dipl. Ing. (FH) Markus Hitter http://www.reprap-diy.com/ http://www.jump-ing.de/ ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
For those on the -dev mailing list, we're talking about this bug: https://savannah.gnu.org/bugs/?41125#comment0 Am 07.01.2014 15:17, schrieb Richard Frith-Macdonald: I might guess that the issue you mean [...] Instead of guessing I'd prefer you'd try with the shell snippets I provided. They clearly expose unintended results in at least 3 cases. Perhaps I might guess that you mean, as Sebastian suggested, that you want documentation to be built and installed along with gnustep-make ... if so, that's not a (reasonable IMO) change request ... but since what you are asking for is a change to overall policy rather than a specific package, probably the mailing list makes more sense. Weird policy which prohibits to install documentation on its own. This prohibits not only packaging, but also cross-compilation, because in both cases is install root != system root. That said, what you committed earlier today into README.packaging doesn't work. It isn't sufficient to package gnustep-make, it also has to be installed. Setting aside debian-type packaging doesn't build by binary package, but by source package, which makes it impossible to install a package not yet built, Documentation/GNUmakefile line 37ff attempts to go such a route without packaging, but it's buggy and/or incomplete. But I mentioned the latter already. I have another ~15 bugs similar to this one stacked. Markus -- - - - - - - - - - - - - - - - - - - - Dipl. Ing. (FH) Markus Hitter http://www.reprap-diy.com/ http://www.jump-ing.de/ ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: [bug #41125] -make documentation is un-installable
On 7 Jan 2014, at 21:31, Markus Hitter m...@jump-ing.de wrote: This prerequisite you talk about is a showstopper in some environments and does not solve the problem. If having showstoppers is the intention, I feel sorry for GNUstep. Please, please, calm down and try to help me here; I'm asking for information about what the problem. Saying it's 'a showstopper' means something to you, but it doesn't tell anyone else anything. We need to have it explained to us in what way it's an issue for you. It does not seem reasonable for it to be a showstopper for anything (lots of packages have dependencies, so there's no obvious reason why this should be special), especially given the flexibility of location/configuratrion available with the environment variables and config file... so you really need to explain in some detail. It can't install the documentation because, at this point you haven't configured/installed gnustep-make, so the eventual installation location is unknown. It could, because at this point -make is actually configured, so the installation location and layout is defined. But it ignores each of --prefix, --with-layout and DESTDIR. That's what I'm talking about and that's what the shell snippets demonstrate. I see your point ... you have run the configure script on gnustep-make, and you expect the documentation package to use the configuration settings you specified then. But the documentation package is consistent with all other packages (so the concept is simple ... you install gnustep-make and then everything else in gnustep is built/installed using that) ... it uses your currently selected gnustep-make installation to determine where to install things. When you don't have a gnustep-make installation selected, it could guess that it should build/install one based on the current config in the enclosing directory, but it hasn't been told to do that and could well be doing the wrong thing if it did ... given that you haven't installed gnustep-make it's a fair assumption that you have not yet configured it as you want it. You could add support for some variation of this behavior, document it clearly (since it's not the nmormal behavior), and perhaps make the build/install process prompt the user to confirm that they really want to do it. I have another ~15 bugs similar to this one stacked. Well, [...] Please scratch that. Very apparently it's much easier to fix the bug than to explain somebody with commit privileges that the bug is actually a bug, so I'll do this next time (and keep the patch in the packaging patch stack). Perhaps if you supplied patches it would be clearer what you are trying to achieve (often the code clarifies the explanation as well as an explanation clarifying code). It's a shame you don't feel willing/able to take time to explain the problems; I feel sure that if you did so you would find that many have simple solutions, or could at least come up with solutions consistent with behavior elsewhere. We do need to be able to understand more about what you need to do in order to suggest ways that you can do it. ___ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev