Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
Achim Gratz writes: > I'll be on it, I should have something to show maybe next weekend. > Instead of posting a series of patches to the list, I'll add a feature > branch to my orgmode clone on repo.or.cz — I think that should be easier > to follow since I expect there will be a few versions back-and-forth > before things settle. Okay - I'll follow that branch till the change becomes mature. Thanks, -- Bastien
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
Achim Gratz writes: > Yes, but if they've been used, no trace is to be found in the repository > and in any case, what fixrelease is supposed to be doing is not what it > actually does — it's currently an exact copy of release. I'll sort it > out and make a proposal… Would be nice, thanks. I never had to use fixrelease so far, no surprise I didn't notice this. > As detailed in my other posting I'd remove them from the Makefile that > is distributed and the server would have an extra file with those > targets that are useful only there. Gory details to follow. Okay - thanks! > A target whose recipe doesn't produce a file with the same name is > called "phony" in make-speech; I used to call them decoys. The problem > with that age-old make idiom is when someone inadvertently creates a > file with that name — say, "test" — and "make test" suddenly doesn't > work anymore, so most makes allow you to declare them to avoid that > particular trap. I learned something -- thanks for the explanations! -- Bastien
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
Bastien writes: > this looks like a flexible solution we might use. Good. > When you have time, please provide a patch to this effect. I'll be on it, I should have something to show maybe next weekend. Instead of posting a series of patches to the list, I'll add a feature branch to my orgmode clone on repo.or.cz — I think that should be easier to follow since I expect there will be a few versions back-and-forth before things settle. > Thanks for you work! You're welcome. Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
Bastien writes: > The targets release and fixrelease are for Org's maintainers. Yes, but if they've been used, no trace is to be found in the repository and in any case, what fixrelease is supposed to be doing is not what it actually does — it's currently an exact copy of release. I'll sort it out and make a proposal… > The other solution would be to simply remove these target and to use > a local Makefile on the server. It's more clean from the user's point > of view, and just some little extra work for the maintainers. > > What would you suggest? As detailed in my other posting I'd remove them from the Makefile that is distributed and the server would have an extra file with those targets that are useful only there. Gory details to follow. >> Is there any reason why the phony targets are not declared to be >> phony? > > "phony"? A target whose recipe doesn't produce a file with the same name is called "phony" in make-speech; I used to call them decoys. The problem with that age-old make idiom is when someone inadvertently creates a file with that name — say, "test" — and "make test" suddenly doesn't work anymore, so most makes allow you to declare them to avoid that particular trap. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptation for Waldorf Blofeld V1.15B11: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
Hi Achim, Achim Gratz writes: > It looks like the two targets relase and fixrelease have not actually > been used and at least fixrelease would not do what the comment is > trying to imply it should be doing. If nobody uses them, these two > targets should probably be removed. The targets release and fixrelease are for Org's maintainers. > Then there's all the stuff that "makes sense only on the orgmode server, > do not run on your computer": if so, would it not be preferrable to fail > these targets when not run on the orgmode server, either by checking an > environment variable or a file that only exists on the server? Yes -- maybe with a warning like: "These target is meant for using by the maintainers". The other solution would be to simply remove these target and to use a local Makefile on the server. It's more clean from the user's point of view, and just some little extra work for the maintainers. What would you suggest? > Is there any reason why the phony targets are not declared to be > phony? "phony"? > > > Regards, > Achim. -- Bastien
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
Hi Achim, > I went ahead with splitting the Makefile up, it now looks like this: this looks like a flexible solution we might use. When you have time, please provide a patch to this effect. Thanks for you work! -- Bastien
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
Achim Gratz writes: > I just realize that the Makefile already uses several GNU make > extensions. If it's OK to use them (specifically include files and > conditional variable assignment), that would help to restructure the > Makefile so that it can be customized and maintained more easily. Let > me know if I should work on a proposal in that direction or not. I went ahead with splitting the Makefile up, it now looks like this: --8<---cut here---start->8--- # # Master Makefile for the org-mode distribution # include default.mk -include local.mk .DEFAULT_GOAL := help # Describe valid make targets for org-mode. targets help: @echo @echo "Check the settings in default.mk first. If you need to adjust them, please" @echo "copy default.mk to local.mk and then make your edits in local.mk." @echo @echo "Usage:" @echo @echo "make # compile Org ELisp files" @echo "make clean# clean Elisp and documentation files" @echo "make all # compile Org ELisp files and documentation" @echo @echo "make doc # make all documentation" @echo "make info # make Info documentation" @echo "make html # make HTML documentation" @echo "make pdf # make pdf documentation" @echo "make card # make refcards documentation" @echo @echo "make install # install Org" @echo "make install-lisp # install Org ELisp files" @echo "make install-info # install Org Info file" @echo include maint.mk include standard.mk include deps.mk -include server.mk --8<---cut here---end--->8--- Calling make without a target or with a target of "help" or "targets" will give a short overview on how to set things up and use it. Customization is done by creating a local.mk file that overrides the settings in default.mk. By doing this in your local branch, you never need to worry that some change in the main repository will overwrite your customizations and developing on a local branch with merging should become easier (that was my main reason to always rebase my local branch). Merging back into the main branch requires some care, so the repository should probably be configured to never allow a push that has local.mk in it. The same thing is done for the orgmode server.mk part so that it is not distributed with the standard orgmode repository anymore. For illustration I've also separated the dependencies into deps.mk so that they may be auto-generated (in which case they'd be removed from the repository and get their own target). I'll probably merge maint.mk and standard.mk again, but for now they're separated. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptation for Waldorf rackAttack V1.04R1: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
I'm on my slackware system right now. Here's the contents of /etc/issue and I left this as the out of the box default: Welcome to \s \r (\l) I had to do git close with the line in the installation notes to get org-mode to update. The git program refused to overwrite the original Makefile. So having done that I ran make all sudo make install sudo make install-info and there were no errors or warnings of any kind. info org tells me org documentation is at 7.6 now too. On Sun, 10 Jul 2011, Achim Gratz wrote: > Nick Dokos writes: > > My worry is this: before Achim's patch, the "other" systems run the > > following command: > > > > $(INSTALL_INFO) --info-file=$(INFOFILES) --info-dir=$(infodir) > > The invocation with --info-files is only understood by GNU install-info, > that was presumably the reason for introducing the extra target > install-info-debian. > > > I presume without trouble. After his patch, they run > > > > $(INSTALL_INFO) --infodir=$(infodir) $(INFOFILES) > > This invocation does the same thing (per the man and info manuals) on > GNU install-info, but is also compatible with the older install-info > supplied by Debian, which does not know about some options of GNU info. > So whichever install-info gets chosen (since we cannot know what $PATH > is set to) should work. If it is GNU install-info, then the warning > message is printed that we actually called a wrapper script that hands > off its arguments to ginstall-info. If it is the dpkg install-info, > then we get a bunch of verbose output that GNU install-info doesn't > produce, but it also results in a working info page. > > > Does the install-info on other systems really grok the --infodir option? > > Isn't it just straight GNU install-info? What am I missing? > > On Windows you can either have MSys or Cygwin to get install-info. Both > really are GNU install-info, so unless there is yet another install-info > I don't see why this would not work. > > > Regards, > Achim. >
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
Achim Gratz writes: [...] I just realize that the Makefile already uses several GNU make extensions. If it's OK to use them (specifically include files and conditional variable assignment), that would help to restructure the Makefile so that it can be customized and maintained more easily. Let me know if I should work on a proposal in that direction or not. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptation for Waldorf microQ V2.22R2: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
Nick Dokos writes: > My worry is this: before Achim's patch, the "other" systems run the > following command: > > $(INSTALL_INFO) --info-file=$(INFOFILES) --info-dir=$(infodir) The invocation with --info-files is only understood by GNU install-info, that was presumably the reason for introducing the extra target install-info-debian. > I presume without trouble. After his patch, they run > > $(INSTALL_INFO) --infodir=$(infodir) $(INFOFILES) This invocation does the same thing (per the man and info manuals) on GNU install-info, but is also compatible with the older install-info supplied by Debian, which does not know about some options of GNU info. So whichever install-info gets chosen (since we cannot know what $PATH is set to) should work. If it is GNU install-info, then the warning message is printed that we actually called a wrapper script that hands off its arguments to ginstall-info. If it is the dpkg install-info, then we get a bunch of verbose output that GNU install-info doesn't produce, but it also results in a working info page. > Does the install-info on other systems really grok the --infodir option? > Isn't it just straight GNU install-info? What am I missing? On Windows you can either have MSys or Cygwin to get install-info. Both really are GNU install-info, so unless there is yet another install-info I don't see why this would not work. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Wavetables for the Terratec KOMPLEXER: http://Synth.Stromeko.net/Downloads.html#KomplexerWaves
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
Bastien wrote: > Hi Jude, > > Jude DaShiell writes: > > > The latest patch by Achim Gratz works for this problem for make > > install-info on debian squeeze. The warning about using ginstall-info > > comes up, but the documentation updates from 7.5 to 7.6 none the less. > > Thanks for confirming. > > Achim and Nick, can I safely apply your patch or was it still a beta > version? > Achim's patch is different from mine (which might very well be wrong: I was trying to divine what is happening without access to a system that runs Debian or Slackware). I applied Achim's patch and it works on my Ubuntu system (I get the same warning that this is GNU install-info, not dpkg install-info that Jude gets, which is fine - if that's all that's different, then we can document that). However, I don't understand how changing the command affects other systems: in particular OS X and/or Windows (as well as other Linux distros and other Unixes), so I will plead "nolo contendere" here, but I wouldn't apply it until people on those systems test it and report success. My worry is this: before Achim's patch, the "other" systems run the following command: $(INSTALL_INFO) --info-file=$(INFOFILES) --info-dir=$(infodir) I presume without trouble. After his patch, they run $(INSTALL_INFO) --infodir=$(infodir) $(INFOFILES) Does the install-info on other systems really grok the --infodir option? Isn't it just straight GNU install-info? What am I missing? Nick
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
Bastien writes: > Achim and Nick, can I safely apply your patch or was it still a beta > version? My patch obsolotes what Nick was trying to achieve, but I'm just looking at some other stuff in the Makefile that looks like it needs a makeover, so I'd suggest we discuss this first and I'll submit a proper patch that goes into patchwork. Here it goes: It looks like the two targets relase and fixrelease have not actually been used and at least fixrelease would not do what the comment is trying to imply it should be doing. If nobody uses them, these two targets should probably be removed. Then there's all the stuff that "makes sense only on the orgmode server, do not run on your computer": if so, would it not be preferrable to fail these targets when not run on the orgmode server, either by checking an environment variable or a file that only exists on the server? Is there any reason why the phony targets are not declared to be phony? Even if GNU make is not used that should be compatible. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
Hi Jude, Jude DaShiell writes: > The latest patch by Achim Gratz works for this problem for make > install-info on debian squeeze. The warning about using ginstall-info > comes up, but the documentation updates from 7.5 to 7.6 none the less. Thanks for confirming. Achim and Nick, can I safely apply your patch or was it still a beta version? Thanks, -- Bastien
Re: [O] patch makefile solve a couple debian build problems and a slackware build problem
The latest patch by Achim Gratz works for this problem for make install-info on debian squeeze. The warning about using ginstall-info comes up, but the documentation updates from 7.5 to 7.6 none the less.