* Re: patch makefile solve a couple debian build problems and a slackware build problem @ 2011-07-10 9:10 Jude DaShiell 2011-07-10 9:20 ` Bastien 0 siblings, 1 reply; 72+ messages in thread From: Jude DaShiell @ 2011-07-10 9:10 UTC (permalink / raw) To: emacs-orgmode 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. ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-10 9:10 patch makefile solve a couple debian build problems and a slackware build problem Jude DaShiell @ 2011-07-10 9:20 ` Bastien 2011-07-10 10:07 ` Achim Gratz ` (2 more replies) 0 siblings, 3 replies; 72+ messages in thread From: Bastien @ 2011-07-10 9:20 UTC (permalink / raw) To: Jude DaShiell; +Cc: emacs-orgmode Hi Jude, Jude DaShiell <jdashiel@shellworld.net> 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-10 9:20 ` Bastien @ 2011-07-10 10:07 ` Achim Gratz 2011-07-10 12:55 ` Achim Gratz 2011-07-11 11:58 ` patch makefile solve a couple debian build problems and a slackware build problem Bastien 2011-07-10 12:21 ` Nick Dokos 2011-07-11 20:01 ` [PATCH] was: " Achim Gratz 2 siblings, 2 replies; 72+ messages in thread From: Achim Gratz @ 2011-07-10 10:07 UTC (permalink / raw) To: emacs-orgmode Bastien <bzg@altern.org> 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-10 10:07 ` Achim Gratz @ 2011-07-10 12:55 ` Achim Gratz 2011-07-10 20:03 ` Achim Gratz 2011-07-11 11:58 ` patch makefile solve a couple debian build problems and a slackware build problem Bastien 1 sibling, 1 reply; 72+ messages in thread From: Achim Gratz @ 2011-07-10 12:55 UTC (permalink / raw) To: emacs-orgmode Achim Gratz <Stromeko@nexgo.de> 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-10 12:55 ` Achim Gratz @ 2011-07-10 20:03 ` Achim Gratz 2011-07-11 12:01 ` Bastien 0 siblings, 1 reply; 72+ messages in thread From: Achim Gratz @ 2011-07-10 20:03 UTC (permalink / raw) To: emacs-orgmode Achim Gratz <Stromeko@nexgo.de> 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-10 20:03 ` Achim Gratz @ 2011-07-11 12:01 ` Bastien 2011-07-11 16:00 ` Achim Gratz 0 siblings, 1 reply; 72+ messages in thread From: Bastien @ 2011-07-11 12:01 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-11 12:01 ` Bastien @ 2011-07-11 16:00 ` Achim Gratz 2011-07-11 18:53 ` Bastien 0 siblings, 1 reply; 72+ messages in thread From: Achim Gratz @ 2011-07-11 16:00 UTC (permalink / raw) To: emacs-orgmode Bastien <bzg@altern.org> 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-11 16:00 ` Achim Gratz @ 2011-07-11 18:53 ` Bastien 2011-07-13 16:08 ` Makefile restructuring Achim Gratz 0 siblings, 1 reply; 72+ messages in thread From: Bastien @ 2011-07-11 18:53 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Achim Gratz <Stromeko@nexgo.de> 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-07-11 18:53 ` Bastien @ 2011-07-13 16:08 ` Achim Gratz 2011-07-16 11:54 ` Bastien 2011-07-19 18:28 ` Achim Gratz 0 siblings, 2 replies; 72+ messages in thread From: Achim Gratz @ 2011-07-13 16:08 UTC (permalink / raw) To: emacs-orgmode Bastien <bzg@altern.org> writes: > Okay - I'll follow that branch till the change becomes mature. I've set up the feature branch "Makefile" in my org-mode clone on repo.or.cz. Assuming you already have orgmode.git cloned (it does not really matter where from), do a git remote add -t Makefile remote-tableheadings git://repo.or.cz/org-mode/org-tableheadings.git git fetch remote-tableheadings Makefile:local-Makefile git checkout local-Makefile to get it (change remote-tableheadings and local-Makefile to suit your naming conventions for remotes and local branches, respectively). I will be _rebasing_ against master during development, so expect history in this branch to be volatile. As always, testers and their comments are welcome. 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-07-13 16:08 ` Makefile restructuring Achim Gratz @ 2011-07-16 11:54 ` Bastien 2011-07-16 14:56 ` Achim Gratz 2011-07-19 18:28 ` Achim Gratz 1 sibling, 1 reply; 72+ messages in thread From: Bastien @ 2011-07-16 11:54 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Hi Achim, Achim Gratz <Stromeko@nexgo.de> writes: > Bastien <bzg@altern.org> writes: >> Okay - I'll follow that branch till the change becomes mature. > > I've set up the feature branch "Makefile" in my org-mode clone on > repo.or.cz. Assuming you already have orgmode.git cloned (it does not > really matter where from), do a > > git remote add -t Makefile remote-tableheadings git://repo.or.cz/org-mode/org-tableheadings.git > git fetch remote-tableheadings Makefile:local-Makefile > git checkout local-Makefile > > to get it (change remote-tableheadings and local-Makefile to suit > your naming conventions for remotes and local branches, respectively). > I will be _rebasing_ against master during development, so expect > history in this branch to be volatile. > > As always, testers and their comments are welcome. Thanks a lot for this. Here is some feedback: I think the proliferation of *.mk files can confuse the user. Can we try to reduce this to the maximum? Ideally, there will be no *.mk file at all, just one Makefile in which the maintainer can include a maint.mk file that will only live on orgmode.org server (since we are releasing from there.) But maybe you're already heading in this direction, or my suggestion goes against your goal. Thanks for any answer! Best, -- Bastien ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-07-16 11:54 ` Bastien @ 2011-07-16 14:56 ` Achim Gratz 2011-07-16 21:17 ` Achim Gratz ` (2 more replies) 0 siblings, 3 replies; 72+ messages in thread From: Achim Gratz @ 2011-07-16 14:56 UTC (permalink / raw) To: emacs-orgmode Bastien <bzg@altern.org> writes: > I think the proliferation of *.mk files can confuse the user. > Can we try to reduce this to the maximum? Nothing is set in stone at this point and there will certainly be changes to make sure things are useful both for users and maintainers of org-mode. If something doesn't "feel" right, it probably isn't and we can try something else before commiting to any changes. Since this depends on getting feedback, please keep it coming. > Ideally, there will be no *.mk file at all, just one Makefile > in which the maintainer can include a maint.mk file that will > only live on orgmode.org server (since we are releasing from > there.) It would be easy enough to hide the *.mk files in some subdirectory (a new one or perhaps UTILITIES) to unclutter the main directory. I've split off the verious parts for now based on function, and yes, some of these may be re-integrated later. At the moment this is only there to make these different functions visible since calling make still reads them in all at once and acts as if they were a single file. > But maybe you're already heading in this direction, or my > suggestion goes against your goal. Let me elaborate: The original goal was that I would not need to change the Makefile when doing my local setup since I frequently change it for testing. Right now I'm rebasing a short branch with my local setup onto whatever branch I'm working on so I don't clutter the history with these changes. Splitting off an optional file local.mk is what achieves that goal most cleanly, IMHO. I can now just link to whatever setup I need at the moment in the testing branches or register a stable setup in other branches. The Makefile has indeed been shortened to the extreme based on the idea that it should fit onto a single screen when someone does a 'cat Makefile' and not contain anything that needs to be prefixed with an explanation. Ideally the Makefile would be clear enough to obsolete the necessity for an INSTALL file (which doesn't currently exist anyway). The default.mk has been introduced to be an easy template from which to create a local.mk by copying. This is not strictly necessary, but to me it looks easier than to tell people to copy the right part of the Makefile into local.mk. But both options will need to be accompanied by instructions and it's mainly a question of them being easy to follow. Come to think of it, I'll probably add a target that creates local.mk… so that issue likely becomes moot. The server part of the Makefile could actually be included from local.mk, so it would not need to exist in the standard distribution (at least not in the top level directory). The existence of both targets.mk and maint-targets.mk is transitory until things sort cleanly into one or the other category. User visible targets could then wander back into the Makefile, while the maintainer targets would become part of another optional include. The dependencies have been split off since ideally they would be auto-generated by make. PS: I've just completed the install of Emacs24 in parallel to the Emacs23.3, so I should can make sure that make will succeed with both. 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-07-16 14:56 ` Achim Gratz @ 2011-07-16 21:17 ` Achim Gratz 2011-07-17 17:30 ` Achim Gratz 2011-12-16 9:59 ` Achim Gratz 2 siblings, 0 replies; 72+ messages in thread From: Achim Gratz @ 2011-07-16 21:17 UTC (permalink / raw) To: emacs-orgmode Branch is rebased onto current master. I'm now using a sub-make for ./lisp. Compiling and making the org-install.el in ./lisp rather than from toplevel also ensures that both the new (Emacs24) and old autoload.el produces the correct result. It is now possible to copy default.mk to local.mk and then alter the definitions in local.mk — make will automatically use the definitions in local.mk if it is present. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf rackAttack: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-07-16 14:56 ` Achim Gratz 2011-07-16 21:17 ` Achim Gratz @ 2011-07-17 17:30 ` Achim Gratz 2011-12-16 9:59 ` Achim Gratz 2 siblings, 0 replies; 72+ messages in thread From: Achim Gratz @ 2011-07-17 17:30 UTC (permalink / raw) To: emacs-orgmode The ./doc directory is now also handled via a sub-make invocation. Feature-wise the user part should be complete now. I've also patched org.el to provide a placeholder to record which orgmode version has been installed and the installer will patch the installed file with that so that org-version can show it. Currently uses perl to do that, I'll probably change to sed since I don't want to require perl for installation. Some small patches so that changes to the build system do not get recorded in Emacs' ChangeLog. Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Wavetables for the Terratec KOMPLEXER: http://Synth.Stromeko.net/Downloads.html#KomplexerWaves ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-07-16 14:56 ` Achim Gratz 2011-07-16 21:17 ` Achim Gratz 2011-07-17 17:30 ` Achim Gratz @ 2011-12-16 9:59 ` Achim Gratz 2 siblings, 0 replies; 72+ messages in thread From: Achim Gratz @ 2011-12-16 9:59 UTC (permalink / raw) To: emacs-orgmode Some recent changes to this fork: - integrated the etc/ directory for Jambunathans ODT exporter - allow for optional local customization (local.mk) in lisp/ and /etc - use byte-recompile-directory by default (much faster and closer to what package manager does); always "make clean" and remove dependencies since they don't work anyway and can't be auto-generated - version strings are compiled into org-install.el so that they don't need to be commited into org.el - git version is always shown when available (otherwise "N/A" when uncompiled and not in a git repository) - show the path to org-install in org-version to make it easier to check for possible load-path corruption due to duplicate or stale installations Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Q+, Q and microQ: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-07-13 16:08 ` Makefile restructuring Achim Gratz 2011-07-16 11:54 ` Bastien @ 2011-07-19 18:28 ` Achim Gratz 2011-10-28 10:00 ` Achim Gratz 2011-11-08 18:00 ` Achim Gratz 1 sibling, 2 replies; 72+ messages in thread From: Achim Gratz @ 2011-07-19 18:28 UTC (permalink / raw) To: emacs-orgmode Achim Gratz <Stromeko@nexgo.de> writes: > git remote add -t Makefile remote-tableheadings git://repo.or.cz/org-mode/org-tableheadings.git > git fetch remote-tableheadings Makefile:local-Makefile > git checkout local-Makefile > > to get it (change remote-tableheadings and local-Makefile to suit > your naming conventions for remotes and local branches, respectively). > I will be _rebasing_ against master during development, so expect > history in this branch to be volatile. This means you'll need to do a git fetch -f remote-tableheadings whenever I've rebased since the branch doesn't fast-forward in this case — which I've just done so it applies cleanly to current master. > As always, testers and their comments are welcome. Bastien asked if he might include it in the next release, so if you've been testing/using this please say if it works (or what doesn't). I've tested it myself on Linux and Win7 (Cygwin and MSys), but there are likely quite a few different setups around. * Changes ** GNU make required The previous Makefile already used a bunch of GNU make extensions so this shouldn't be too much of a shock, but I am now using more of them, especially functions. ** Customization Keep your customizations to the old Makefile around (ie. the part with "YOU MUST EDIT THE FOLLOWING LINES"). The customization will now be done by putting just those lines (or only the lines you want to change plus any comments, really) into a file named "local.mk". The default values are now in a file named default.mk, so you can also just copy from default.mk to local.mk and then edit. The defaults have been slightly adapted to work well on most Linux systems and on Cygwin, specifically prefix = /usr/share # was /usr/local/share On these systems you don't need any customization if you are installing to the system-wide Emacs installation. For other uses, here are a few examples: --8<---------------cut here---------------start------------->8--- # local.mk Win7/NTemacs EMACS = C:/Freeware/Emacs-24.0.50/bin/emacs prefix = C:/Freeware/Emacs-24.0.50 lispdir = $(prefix)/site-lisp/org --8<---------------cut here---------------end--------------->8--- --8<---------------cut here---------------start------------->8--- # local.mk Linux/Emacs24 EMACS = /usr/local/bin/emacs prefix = /usr/local/share lispdir = $(prefix)/emacs/site-lisp/org --8<---------------cut here---------------end--------------->8--- --8<---------------cut here---------------start------------->8--- # local.mk Linux/Emacs(system) - test EMACS = /usr/bin/emacs prefix = /home/user/org-test lispdir = $(prefix)/lisp/org --8<---------------cut here---------------end--------------->8--- --8<---------------cut here---------------start------------->8--- # local.mk Debian/Emacs(system) INSTALL_INFO = ginstall-info # insist on GNU install-info # even though dpkg install-info works just fine now --8<---------------cut here---------------end--------------->8--- Keep in mind that all file-paths need to be absolute, specifically you can't use "~" in prefix or lispdir since it is used in a few places where the shell will not expand it. ** Renamed target "doc" to "docs" The target "doc" has been renamed to "docs" since it clashed with the subdirectory of the same name. ** New target clean-install I've added a new target "clean-install" that will remove a previous installation of org from the install directories. This removes old files that may have been present in a previous installation, but not used anymore. You should check with make -n clean-install what it tries to do before letting it _really_ remove anything. ** Installing files from contrib The way things work now, any *.el file you put into lisp/ will be compiled together with and installed along with the org files. So if you want to install a particular contrib feature together with org, just copy (or link) it into lisp/. This does not work with subdirectories (for now), you need to make the actual *.el files visible in lisp/. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Q+, Q and microQ: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-07-19 18:28 ` Achim Gratz @ 2011-10-28 10:00 ` Achim Gratz 2011-10-29 11:22 ` Michael Brand 2011-11-08 18:00 ` Achim Gratz 1 sibling, 1 reply; 72+ messages in thread From: Achim Gratz @ 2011-10-28 10:00 UTC (permalink / raw) To: emacs-orgmode Is someone still tracks this thread: I'm still working on the fork, recent changes have been the elimination of the dependencies. I've found no simple way to automatically generate them and even then it would have been really difficult to keep Emacs from picking up stale byte-compiled files. While I've developed a way that allowed to remove all .elc files that a new compile would re-create, I deemed it far too hacky to go live. Instead a ``make clean´´ is now implicit with ``make compile´´ so that there should be no problems anymore that are caused by the order of byte-compilation. As discussed in another thread, the version from git-describe is now also recorded into the info documentation. 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-10-28 10:00 ` Achim Gratz @ 2011-10-29 11:22 ` Michael Brand 2011-10-30 7:33 ` Achim Gratz 0 siblings, 1 reply; 72+ messages in thread From: Michael Brand @ 2011-10-29 11:22 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Hi Achim On Fri, Oct 28, 2011 at 12:00, Achim Gratz <Stromeko@nexgo.de> wrote: > As discussed in another thread, the version from git-describe is now > also recorded into the info documentation. see here for the thread: http://lists.gnu.org/archive/html/emacs-orgmode/2011-06/msg00054.html I have looked into your branch only now. I think it is uncommon for Makefiles how clean they look now and I appreciate how the Makefile has been split up plus one is in doc/ and one in lisp/, that there are no explicit xy.el any more and so on. Thank you for this work. Some comments: There is no @value{DATE}, missing already on master. Would it be ok to remove setting the DATE or to include it in org.texi like the commit message subject anticipates? In the latter case it could be labeled "build date" and optionally when available be enriched with "release date", looked up from the git tag when make is running in a git repo not dirty and if git is installed. Maybe "release date" could also become visible in org-version when running from .el in a git repo not dirty and if git is installed or when running from .elc built with the same git requirement. Both would help users to be aware of how outdated their version is and more. These are only suggestions, else I'm fine with removing DATE. I would prefer the file/target name variables.texi instead of git-describe.texi as git describe is not necessarily involved and must not be a requirement. Did you check this?: - make info when not in a git repo - make info when in a git repo but git is not installed In case the errors are confirmed: My guess is that again you have a better solution than me and I don't propose a patch yet. (org-version) uses (file-exists-p (expand-file-name ".git" dir)) and (executable-find "git") for this. The default make target has been changed from "all" to "targets help". Is this standard? I assume that you considered that this can break the target "org-mode" of some upper level Makefile from users (and Emacs?). Michael ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-10-29 11:22 ` Michael Brand @ 2011-10-30 7:33 ` Achim Gratz 2011-10-30 14:20 ` Michael Brand 2011-11-06 19:06 ` Achim Gratz 0 siblings, 2 replies; 72+ messages in thread From: Achim Gratz @ 2011-10-30 7:33 UTC (permalink / raw) To: emacs-orgmode Michael Brand <michael.ch.brand@gmail.com> writes: > I have looked into your branch only now. I think it is uncommon for > Makefiles how clean they look now and I appreciate how the Makefile > has been split up plus one is in doc/ and one in lisp/, that there are > no explicit xy.el any more and so on. Thank you for this work. Thank you for your comments. > Some comments: > > There is no @value{DATE}, missing already on master. Would it be ok to > remove setting the DATE or to include it in org.texi like the commit > message subject anticipates? I don't know why the DATE is currently unused, it looks like it never was as long as the git repository existed. I expect that when the Makefile starts to take care of it, it will become more useful. I did not yet change org.texi to keep the changeset minimal. > In the latter case it could be labeled > "build date" and optionally when available be enriched with "release > date", looked up from the git tag when make is running in a git repo > not dirty and if git is installed. Maybe "release date" could also > become visible in org-version when running from .el in a git repo not > dirty and if git is installed or when running from .elc built with the > same git requirement. Both would help users to be aware of how > outdated their version is and more. These are only suggestions, else > I'm fine with removing DATE. Right now git-describe.texi is re-built when org.texi changes, but the date recorded and the git-describe are of the build time/version. I need to figure out how to get the actual date of the last change plus the git describe for that. If that doesn't work I will just change it to always record the build date and version, just like org-version. > I would prefer the file/target name variables.texi instead of > git-describe.texi as git describe is not necessarily involved and must > not be a requirement. Sure, this is just a first suggestion to demonstrate how it might work. > Did you check this?: > - make info when not in a git repo No, and currently it probably breaks. But it isn't too difficult to keep the old file in that case. > - make info when in a git repo but git is not installed Ditto. > In case the errors are confirmed: My guess is that again you have a > better solution than me and I don't propose a patch yet. (org-version) > uses (file-exists-p (expand-file-name ".git" dir)) and > (executable-find "git") for this. You are talking about org-version here? That code is not mine (I only added another defconst to be able to record the version string during install). I have never tried what happens when not installed and no git is present... so please if that does indeed break put a patch to master, as the problem should already be present there. AFAIK the code should just drop down to no appending the description string. > The default make target has been changed from "all" to "targets help". > Is this standard? I assume that you considered that this can break the > target "org-mode" of some upper level Makefile from users (and > Emacs?). GNU Makefile standards ask that a help target be available and that make without arguments should show the help rather than freak you out with starting to do something you may not have wanted to do. One could certainly decide on a different standard if there's a good reason for that. Again, Emacs has its own, totally unrelated build system. 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-10-30 7:33 ` Achim Gratz @ 2011-10-30 14:20 ` Michael Brand 2011-11-06 19:06 ` Achim Gratz 1 sibling, 0 replies; 72+ messages in thread From: Michael Brand @ 2011-10-30 14:20 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Hi Achim On Sun, Oct 30, 2011 at 08:33, Achim Gratz <Stromeko@nexgo.de> wrote: >> In case the errors are confirmed: My guess is that again you have a >> better solution than me and I don't propose a patch yet. (org-version) >> uses (file-exists-p (expand-file-name ".git" dir)) and >> (executable-find "git") for this. > > You are talking about org-version here? I don't consider org-version to be used in the Makefile but assume that the same tests have to be made there. > That code is not mine (I only > added another defconst to be able to record the version string during > install). I have never tried what happens when not installed and no git > is present... so please if that does indeed break put a patch to master, > as the problem should already be present there. AFAIK the code should > just drop down to no appending the description string. No worry, org-version gets along with that. > GNU Makefile standards ask that a help target be available and that make > without arguments should show the help rather than freak you out with > starting to do something you may not have wanted to do. Good to know. I prefer the standard and like that the GNU Makefile default target is standardized this way. Michael ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-10-30 7:33 ` Achim Gratz 2011-10-30 14:20 ` Michael Brand @ 2011-11-06 19:06 ` Achim Gratz 2011-11-06 19:18 ` Jambunathan K 1 sibling, 1 reply; 72+ messages in thread From: Achim Gratz @ 2011-11-06 19:06 UTC (permalink / raw) To: emacs-orgmode Recent changes in my Makefile fork: org-version has been changed to always get the version information from org-install.el. This way, there is no need to invoke a shell in org-version or to keep any version information in org.el. Additionally org-version checks where it finds org-install.el and reports the full path so that it should be easier to spot when the load-path has been set up wrongly and/or the (newer) installation of org is missing org-install.el, but it is reachable in an older installation. I've added a target "compile-dirty" that doesn't include the invocation of "make clean" so that it is easier to test small changes that only change a single file. 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-11-06 19:06 ` Achim Gratz @ 2011-11-06 19:18 ` Jambunathan K 2011-11-06 19:38 ` Achim Gratz 0 siblings, 1 reply; 72+ messages in thread From: Jambunathan K @ 2011-11-06 19:18 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode FYI, if Org is insalled through the package manager there is no org-install.el. Package manager creates autoloads on it's own and names it org-autoloads.el. I believe, for most part, org-install and org-autoloads have the same functionality. > Recent changes in my Makefile fork: > > org-version has been changed to always get the version information from > org-install.el. This way, there is no need to invoke a shell in > org-version or to keep any version information in org.el. Additionally > org-version checks where it finds org-install.el and reports the full > path so that it should be easier to spot when the load-path has been set > up wrongly and/or the (newer) installation of org is missing > org-install.el, but it is reachable in an older installation. > > I've added a target "compile-dirty" that doesn't include the invocation > of "make clean" so that it is easier to test small changes that only > change a single file. > > > Regards, > Achim. -- ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-11-06 19:18 ` Jambunathan K @ 2011-11-06 19:38 ` Achim Gratz 2011-11-06 20:25 ` Jambunathan K 0 siblings, 1 reply; 72+ messages in thread From: Achim Gratz @ 2011-11-06 19:38 UTC (permalink / raw) To: emacs-orgmode Jambunathan K <kjambunathan@gmail.com> writes: > FYI, if Org is insalled through the package manager there is no > org-install.el. Package manager creates autoloads on it's own and names > it org-autoloads.el. > > I believe, for most part, org-install and org-autoloads have the same > functionality. Then maybe they should have the same name, but surely they should be produced by the same method. Can you point me to a documentation (or source) that details how the package manager deals with the autoloads? It shouldn't be too difficult to use the same method in the Makefile once I understand how it's done. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Q+, Q and microQ: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-11-06 19:38 ` Achim Gratz @ 2011-11-06 20:25 ` Jambunathan K 2011-11-08 21:35 ` Achim Gratz 0 siblings, 1 reply; 72+ messages in thread From: Jambunathan K @ 2011-11-06 20:25 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Achim Gratz <Stromeko@nexgo.de> writes: > Jambunathan K <kjambunathan@gmail.com> writes: >> FYI, if Org is insalled through the package manager there is no >> org-install.el. Package manager creates autoloads on it's own and names >> it org-autoloads.el. >> >> I believe, for most part, org-install and org-autoloads have the same >> functionality. > > Then maybe they should have the same name, but surely they should be > produced by the same method. Can you point me to a documentation (or > source) that details how the package manager deals with the autoloads? > It shouldn't be too difficult to use the same method in the Makefile > once I understand how it's done. This is what I see in package.el. --8<---------------cut here---------------start------------->8--- (defun package-unpack (name version) (let* ((dirname (concat (symbol-name name) "-" version)) (pkg-dir (expand-file-name dirname package-user-dir))) (make-directory package-user-dir t) ;; FIXME: should we delete PKG-DIR if it exists? (let* ((default-directory (file-name-as-directory package-user-dir))) (package-untar-buffer dirname) (package-generate-autoloads (symbol-name name) pkg-dir) (let ((load-path (cons pkg-dir load-path))) (byte-recompile-directory pkg-dir 0 t))))) (defun package-generate-autoloads (name pkg-dir) (require 'autoload) ;Load before we let-bind generated-autoload-file! (let* ((auto-name (concat name "-autoloads.el")) (ignore-name (concat name "-pkg.el")) (generated-autoload-file (expand-file-name auto-name pkg-dir)) (version-control 'never)) (unless (fboundp 'autoload-ensure-default-file) (package-autoload-ensure-default-file generated-autoload-file)) (update-directory-autoloads pkg-dir))) --8<---------------cut here---------------end--------------->8--- If we reconcile what happens here with what is done in Makefile, may be we can uncover why certain macros in org-macs.el doesn't propagated to some set of files. Note that org-macs.el issue is increasingly reported only with emacs-23 and not with emacs-24. One of the reason could be that emacs-24 *already* has most of the macro definitions in the system path. This is not the case with emacs-23 installations which have (much?) older versions of org. From what I understand package manager compiles files in alphabetical order. It means that org-macs.el gets compiled after org-agenda.el. Also when eval-when-compile is done of org-macs.el - somewhere it should be done right? - I don't know which of the org-macs.el gets loaded. Is it system-installed one or the one in the distribution tar. These are some of the leading questions that will lead to satisfactory resolution of recently reported issues with package manager. > > Regards, > Achim. -- ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-11-06 20:25 ` Jambunathan K @ 2011-11-08 21:35 ` Achim Gratz 2011-11-13 12:47 ` Achim Gratz 0 siblings, 1 reply; 72+ messages in thread From: Achim Gratz @ 2011-11-08 21:35 UTC (permalink / raw) To: emacs-orgmode Jambunathan K <kjambunathan@gmail.com> writes: > If we reconcile what happens here with what is done in Makefile, may be > we can uncover why certain macros in org-macs.el doesn't propagated to > some set of files. If byte-compile-directory is available in all versions of Emacs, then I could certainly use it in the Makefile. Not sure if I can get to it before the weekend, but I will try it out soon-ish. > Note that org-macs.el issue is increasingly reported only with emacs-23 > and not with emacs-24. One of the reason could be that emacs-24 > *already* has most of the macro definitions in the system path. This is > not the case with emacs-23 installations which have (much?) older > versions of org. I may be missing what the "org-macs.el issue" is, precisely. > From what I understand package manager compiles files in alphabetical > order. It means that org-macs.el gets compiled after org-agenda.el. With make (at least after "make clean") it's exactly the same thing. What I don't understand is if package manager uses the already customized load-path or the bog-standard one, like make does via "emacs -Q". > Also when eval-when-compile is done of org-macs.el - somewhere it should > be done right? - I don't know which of the org-macs.el gets loaded. Is > it system-installed one or the one in the distribution tar. That would depend on which one it finds first, hence the question of what load-path looks like at that point. 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-11-08 21:35 ` Achim Gratz @ 2011-11-13 12:47 ` Achim Gratz 0 siblings, 0 replies; 72+ messages in thread From: Achim Gratz @ 2011-11-13 12:47 UTC (permalink / raw) To: emacs-orgmode Achim Gratz <Stromeko@nexgo.de> writes: > If byte-compile-directory is available in all versions of Emacs, then I > could certainly use it in the Makefile. Not sure if I can get to it > before the weekend, but I will try it out soon-ish. I've pushed a change to my Makefile fork that uses batch-byte-recompile-directory, which in turn calls the equivalent of what package manager uses. As a bonus it now compiles much faster since it only starts up Emacs once. > I may be missing what the "org-macs.el issue" is, precisely. There shouldn't be any differences between Makefiles and package managers results now, aside from the fact that one of these runs in batch-mode and the other not (I think). Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Q+, Q and microQ: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-07-19 18:28 ` Achim Gratz 2011-10-28 10:00 ` Achim Gratz @ 2011-11-08 18:00 ` Achim Gratz 2011-11-08 21:23 ` Achim Gratz 1 sibling, 1 reply; 72+ messages in thread From: Achim Gratz @ 2011-11-08 18:00 UTC (permalink / raw) To: emacs-orgmode A more complete recipe for setting up a tracking branch to a remote branch in git (assuming you've already cloned orgmode.git locally and have a clean working directory): $ git remote add -t Makefile remote-tableheadings git://repo.or.cz/org-mode/org-tableheadings.git $ git fetch remote-tableheadings Makefile:local-Makefile $ git checkout local-Makefile $ git branch --track local-Makefile remote-tableheadings/Makefile $ git config branch.local-Makefile.rebase true Whenever you want to get changes from upstream, do a $ git pull When you just want to check if there are changes, do a $ git remote update $ git status HTH, 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-11-08 18:00 ` Achim Gratz @ 2011-11-08 21:23 ` Achim Gratz 2012-04-21 10:39 ` Bastien 0 siblings, 1 reply; 72+ messages in thread From: Achim Gratz @ 2011-11-08 21:23 UTC (permalink / raw) To: emacs-orgmode Achim Gratz <Stromeko@nexgo.de> writes: > A more complete recipe for setting up a tracking branch to a remote > branch in git (assuming you've already cloned orgmode.git locally and > have a clean working directory): ...which doesn't really work since I did a few experiments in the clone and messed up the recipe by not checking the already existing configuration. So when you get the error message at step 4 you can salvage it with: $ git remote update $ git branch --set-upstream local-Makefile remote-tableheadings/Makefile $ git config branch.local-Makefile.rebase true In a fresh clone that does not have pre-existing definitions and configurations, this would be the right thing to do (and is a bit shorter): $ git remote add -t Makefile remote-tableheadings git://repo.or.cz/org-mode/org-tableheadings.git $ git remote update $ git branch --track local-Makefile remote-tableheadings/Makefile $ git config branch.local-Makefile.rebase true $ git checkout local-Makefile I tested it on a completely fresh clone this time. :-) Sorry for the confusion Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptations for KORG EX-800 and Poly-800MkII V0.9: http://Synth.Stromeko.net/Downloads.html#KorgSDada ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2011-11-08 21:23 ` Achim Gratz @ 2012-04-21 10:39 ` Bastien 2012-04-21 11:40 ` suvayu ali ` (4 more replies) 0 siblings, 5 replies; 72+ messages in thread From: Bastien @ 2012-04-21 10:39 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Achim's branch is now merged in Org's git master branch. Please test this and report any problem while using make to install Org. -- Bastien ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 10:39 ` Bastien @ 2012-04-21 11:40 ` suvayu ali 2012-04-21 13:08 ` Samuel Wales ` (3 subsequent siblings) 4 siblings, 0 replies; 72+ messages in thread From: suvayu ali @ 2012-04-21 11:40 UTC (permalink / raw) To: Bastien; +Cc: Achim Gratz, emacs-orgmode Hi, On Sat, Apr 21, 2012 at 12:39, Bastien <bzg@altern.org> wrote: > Achim's branch is now merged in Org's git master branch. > > Please test this and report any problem while using make > to install Org. > It works great with my setup; compile and use without installing it with other Emacs files. I love the modularity. :) Great work Achim. -- Suvayu Open source is the future. It sets us free. ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 10:39 ` Bastien 2012-04-21 11:40 ` suvayu ali @ 2012-04-21 13:08 ` Samuel Wales 2012-04-21 13:26 ` Achim Gratz 2012-04-21 13:37 ` Jambunathan K 2012-04-21 14:25 ` François Allisson ` (2 subsequent siblings) 4 siblings, 2 replies; 72+ messages in thread From: Samuel Wales @ 2012-04-21 13:08 UTC (permalink / raw) To: Bastien; +Cc: Achim Gratz, emacs-orgmode On 2012-04-21, Bastien <bzg@altern.org> wrote: > Please test this and report any problem while using make > to install Org. I cannot report in a full way now, but Org does not make at all for me now. I do make cleanall and then make normally. Hope it helps despite the lack of a full report. I am reverting to a previous Org now. The first problem is that it now seems to expect texi2pdf. I can't get it for OS configuration reasons that I cannot fix. This was never a problem before. I tried the following patch, but it did not cause install.elc to be created. So maybe this is a bad fix or maybe there are other problems. Modified default.mk diff --git a/default.mk b/default.mk index 45e6fbf..7d0509c 100644 --- a/default.mk +++ b/default.mk @@ -61,7 +61,7 @@ ELCDIR = $(BATCH) \ ELC = $(BATCH) -f batch-byte-compile # How to make a pdf file from a texinfo file -TEXI2PDF = texi2pdf --batch --clean +TEXI2PDF = echo would do texi2pdf --batch --clean # How to make a pdf file from a tex file PDFTEX = pdftex ^ permalink raw reply related [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 13:08 ` Samuel Wales @ 2012-04-21 13:26 ` Achim Gratz 2012-04-21 13:49 ` Samuel Wales 2012-04-21 13:37 ` Jambunathan K 1 sibling, 1 reply; 72+ messages in thread From: Achim Gratz @ 2012-04-21 13:26 UTC (permalink / raw) To: emacs-orgmode Samuel Wales writes: > I cannot report in a full way now, but Org does not make at all for me > now. I do make cleanall and then make normally. I can't parse that sentence... > The first problem is that it now seems to expect texi2pdf. I can't > get it for OS configuration reasons that I cannot fix. This was never > a problem before. Since all other methods of producing the documentation are not reliable, texi2pdf is the default now and has actually been for a while, independently of my other changes. You can override it if you don't have it, see below. If you don't care about getting all of the documentation, just do a "make compile" or "make compile info", this would then not need texi2pdf at all. > I tried the following patch, but it did not cause install.elc to be > created. So maybe this is a bad fix or maybe there are other > problems. Any adaptations to your local environment should be made in local.mk — that way it is ensured that changes in the defaults do not overwrite your local configuration. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptations for KORG EX-800 and Poly-800MkII V0.9: http://Synth.Stromeko.net/Downloads.html#KorgSDada ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 13:26 ` Achim Gratz @ 2012-04-21 13:49 ` Samuel Wales 2012-04-21 14:34 ` Achim Gratz 2012-04-21 15:29 ` Achim Gratz 0 siblings, 2 replies; 72+ messages in thread From: Samuel Wales @ 2012-04-21 13:49 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Hi Achim, On 2012-04-21, Achim Gratz <Stromeko@nexgo.de> wrote: > Samuel Wales writes: >> I cannot report in a full way now, but Org does not make at all for me >> now. I do make cleanall and then make normally. > > I can't parse that sentence... Org broke. Due to make. Somehow. > Since all other methods of producing the documentation are not reliable, > texi2pdf is the default now and has actually been for a while, > independently of my other changes. You can override it if you don't > have it, see below. If you don't care about getting all of the > documentation, just do a "make compile" or "make compile info", this > would then not need texi2pdf at all. I do not need pdf. I do need info. Are you saying I need to stop doing this: make cleanall;make And start doing this instead: make compile info ? Will that make org-install and also info? If so, what happens when makefiles change again and I will start missing something because I don't have it on the make line? Plain make worked before and would make anything new that people would add to the makefile. Is there a way to just get it to work the way it did before? > Any adaptations to your local environment should be made in local.mk — > that way it is ensured that changes in the defaults do not overwrite > your local configuration. I have no idea of how to do this whatsoever. Hints appreciated. All I want is for Org to work as it did before. Thanks. ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 13:49 ` Samuel Wales @ 2012-04-21 14:34 ` Achim Gratz 2012-04-21 15:41 ` Samuel Wales 2012-04-22 15:22 ` suvayu ali 2012-04-21 15:29 ` Achim Gratz 1 sibling, 2 replies; 72+ messages in thread From: Achim Gratz @ 2012-04-21 14:34 UTC (permalink / raw) To: emacs-orgmode Samuel Wales writes: > make compile info > > Will that make org-install and also info? If you don't install org (i.e. run it directly out of the Git worktree), that would be: make compile autoloads info > If so, what happens when makefiles change again and I will start > missing something because I don't have it on the make line? Plain > make worked before and would make anything new that people would add > to the makefile. Plain "make" now really makes everything except install as it is supposed to do (that is equivalent to "make all"). It didn't do the full documentation before. > Is there a way to just get it to work the way it did before? That would be an uphill battle. You can define your own target for what you want to do in local.mk, say "org" and then do "make org". BTW, you don't need cleanall anymore before compiling (it is now implicit); if you really want to compile without cleaning first, do a compile-dirty. >> Any adaptations to your local environment should be made in local.mk — >> that way it is ensured that changes in the defaults do not overwrite >> your local configuration. > > I have no idea of how to do this whatsoever. You just create a file local.mk, copy in the definitions from default.mk that you need to change (and only those) and then change them to suit your environment. Look up the examples posted earlier in this thread: http://article.gmane.org/gmane.emacs.orgmode/44567 You'd additionally want ---8<------------->8--- .PHONY: org org: compile autoloads info ---8<------------->8--- at the top of your local.mk (that needs to be a TAB after the colon) if you want to be able to say "make org" and have it do "make compile autoloads info". Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf rackAttack: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 14:34 ` Achim Gratz @ 2012-04-21 15:41 ` Samuel Wales 2012-04-21 15:44 ` Achim Gratz 2012-04-22 15:22 ` suvayu ali 1 sibling, 1 reply; 72+ messages in thread From: Samuel Wales @ 2012-04-21 15:41 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode On 2012-04-21, Achim Gratz <Stromeko@nexgo.de> wrote: > If you don't install org (i.e. run it directly out of the Git worktree), > that would be: > > make compile autoloads info Thanks. I will do this if there isn't a generic "do everything except the thing that does not work" option. > Plain "make" now really makes everything except install as it is > supposed to do (that is equivalent to "make all"). It didn't do the > full documentation before. I checked and I actually did "make cleanall;make all" before. Thanks. -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 15:41 ` Samuel Wales @ 2012-04-21 15:44 ` Achim Gratz 0 siblings, 0 replies; 72+ messages in thread From: Achim Gratz @ 2012-04-21 15:44 UTC (permalink / raw) To: emacs-orgmode Samuel Wales writes: > I checked and I actually did "make cleanall;make all" before. The "all" target did in fact not make everything there was to make with the old Makefile, hence the difference in behaviour. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ DIY Stuff: http://Synth.Stromeko.net/DIY.html ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 14:34 ` Achim Gratz 2012-04-21 15:41 ` Samuel Wales @ 2012-04-22 15:22 ` suvayu ali 2012-04-22 15:34 ` Achim Gratz 1 sibling, 1 reply; 72+ messages in thread From: suvayu ali @ 2012-04-22 15:22 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Hi Achim, Last time when I tested the latest changes, I overlooked something. On Sat, Apr 21, 2012 at 16:34, Achim Gratz <Stromeko@nexgo.de> wrote: > If you don't install org (i.e. run it directly out of the Git worktree), > that would be: > > make compile autoloads info The above recipe works. But just "make", leaves the working tree without lisp/org-install.el. From the log I see it explicitly deletes it, but doesn't generate it again. A subsequent "make autoloads" is required to get a working org setup. Is this expected behaviour? I thought a simple make should "cleanly compile Org ELisp files and documentation"? Thanks for any comments. -- Suvayu Open source is the future. It sets us free. ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-22 15:22 ` suvayu ali @ 2012-04-22 15:34 ` Achim Gratz 2012-04-23 7:32 ` suvayu ali 2012-04-24 1:46 ` Mike McLean 0 siblings, 2 replies; 72+ messages in thread From: Achim Gratz @ 2012-04-22 15:34 UTC (permalink / raw) To: emacs-orgmode suvayu ali writes: > The above recipe works. But just "make", leaves the working tree without > lisp/org-install.el. From the log I see it explicitly deletes it, but > doesn't generate it again. A subsequent "make autoloads" is required to > get a working org setup. Is this expected behaviour? This is intentional. The autoloads are generated just before installing, since that's where they are needed. I really don't want to encourage further use of the git worktree as the "org installation", although it sort of works if you do a "make autoloads". You can now easily keep multiple installations within the org directory if so desired (I do this myself for testing). Using the worktree instead can lead to very hard to track bugs when the autoload files get out of sync with the sources. This is the reason I always remove them before compilation and I should probably remove them just after installation as well. > I thought a simple make should "cleanly compile Org ELisp files and > documentation"? Which is what it does. 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-22 15:34 ` Achim Gratz @ 2012-04-23 7:32 ` suvayu ali 2012-04-24 1:46 ` Mike McLean 1 sibling, 0 replies; 72+ messages in thread From: suvayu ali @ 2012-04-23 7:32 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Hi Achim, On Sun, Apr 22, 2012 at 17:34, Achim Gratz <Stromeko@nexgo.de> wrote: > suvayu ali writes: >> The above recipe works. But just "make", leaves the working tree without >> lisp/org-install.el. From the log I see it explicitly deletes it, but >> doesn't generate it again. A subsequent "make autoloads" is required to >> get a working org setup. Is this expected behaviour? > > This is intentional. The autoloads are generated just before > installing, since that's where they are needed. I really don't want to > encourage further use of the git worktree as the "org installation", > although it sort of works if you do a "make autoloads". > Thanks for the clarifications. :) > You can now easily keep multiple installations within the org directory > if so desired (I do this myself for testing). Using the worktree > instead can lead to very hard to track bugs when the autoload files get > out of sync with the sources. This is the reason I always remove them > before compilation and I should probably remove them just after > installation as well. Okay I'll try this out. -- Suvayu Open source is the future. It sets us free. ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-22 15:34 ` Achim Gratz 2012-04-23 7:32 ` suvayu ali @ 2012-04-24 1:46 ` Mike McLean 2012-04-24 4:55 ` Achim Gratz 1 sibling, 1 reply; 72+ messages in thread From: Mike McLean @ 2012-04-24 1:46 UTC (permalink / raw) To: Achim Gratz; +Cc: org-mode mailing list On Apr 22, 2012, at 11:34 AM, Achim Gratz wrote: > suvayu ali writes: >> The above recipe works. But just "make", leaves the working tree without >> lisp/org-install.el. From the log I see it explicitly deletes it, but >> doesn't generate it again. A subsequent "make autoloads" is required to >> get a working org setup. Is this expected behaviour? > > This is intentional. The autoloads are generated just before > installing, since that's where they are needed. I really don't want to > encourage further use of the git worktree as the "org installation", > although it sort of works if you do a "make auto loads". This makes sense, and I’ve asked the question on how best to handle for el-get on Gihub. Meanwhile my original pull request has been merged, so for the moment at least el-get uses the ("compile" "autoloads" "info") workflow. You are correct that adding a make autoloads does work, I've used (and updated) compiled org-mode straight from the work tree for a few days now. If there is a better or more canonical way to do this, I'd be happy to change and work the changes back into el-get where I can. > You can now easily keep multiple installations within the org directory > if so desired (I do this myself for testing). Using the worktree > instead can lead to very hard to track bugs when the autoload files get > out of sync with the sources. This is the reason I always remove them > before compilation and I should probably remove them just after > installation as well. What do you do to make that work? It sounds like an intriguing possibility. ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-24 1:46 ` Mike McLean @ 2012-04-24 4:55 ` Achim Gratz 0 siblings, 0 replies; 72+ messages in thread From: Achim Gratz @ 2012-04-24 4:55 UTC (permalink / raw) To: emacs-orgmode Mike McLean writes: >> You can now easily keep multiple installations within the org directory >> if so desired (I do this myself for testing). > > What do you do to make that work? It sounds like an intriguing possibility. In a nutshell, I create multiple install directories (one for each version of Emacs and Org) via the use of a separate local.mk file for each install and set up the load-path in Emacs to select which one to use. HTH, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 13:49 ` Samuel Wales 2012-04-21 14:34 ` Achim Gratz @ 2012-04-21 15:29 ` Achim Gratz 2012-04-21 15:43 ` Bastien 2012-04-21 18:50 ` Samuel Wales 1 sibling, 2 replies; 72+ messages in thread From: Achim Gratz @ 2012-04-21 15:29 UTC (permalink / raw) To: emacs-orgmode Samuel Wales writes: > Hints appreciated. All I want is for Org to work as it did before. I have just sent a patch to Bastien that makes this more easily possible. You still need a local.mk file then, but you only need to put a line oldorg: in it — I hope that addresses your concern. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Wavetables for the Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#BlofeldUserWavetables ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 15:29 ` Achim Gratz @ 2012-04-21 15:43 ` Bastien 2012-04-21 18:50 ` Samuel Wales 1 sibling, 0 replies; 72+ messages in thread From: Bastien @ 2012-04-21 15:43 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Achim Gratz <Stromeko@nexgo.de> writes: > Samuel Wales writes: >> Hints appreciated. All I want is for Org to work as it did before. > > I have just sent a patch to Bastien that makes this more easily > possible. You still need a local.mk file then, but you only need to put > a line > > oldorg: > > in it — I hope that addresses your concern. The patch has been applied. -- Bastien ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 15:29 ` Achim Gratz 2012-04-21 15:43 ` Bastien @ 2012-04-21 18:50 ` Samuel Wales 2012-04-21 18:55 ` Achim Gratz 1 sibling, 1 reply; 72+ messages in thread From: Samuel Wales @ 2012-04-21 18:50 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode oldorg: did not seem to fix anything. Cleaning and making both resulted in the attempt to make the pdf, which makes it error in both cases. "make compile autoloads info" now says this: make -C doc info make[1]: Nothing to be done for `info'. Thanks. -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 18:50 ` Samuel Wales @ 2012-04-21 18:55 ` Achim Gratz 2012-04-21 19:12 ` Samuel Wales 0 siblings, 1 reply; 72+ messages in thread From: Achim Gratz @ 2012-04-21 18:55 UTC (permalink / raw) To: emacs-orgmode Samuel Wales writes: > oldorg: did not seem to fix anything. Did you update to the latest version on master before trying? Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Wavetables for the Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#BlofeldUserWavetables ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 18:55 ` Achim Gratz @ 2012-04-21 19:12 ` Samuel Wales 2012-04-21 19:17 ` Achim Gratz 0 siblings, 1 reply; 72+ messages in thread From: Samuel Wales @ 2012-04-21 19:12 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode On 2012-04-21, Achim Gratz <Stromeko@nexgo.de> wrote: > Did you update to the latest version on master before trying? Yes. I should say that it's not critical that I get the old way working, and I might even have a way to build info files manually in principle, but it might help others if this new makefile scheme works more smoothly. -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 19:12 ` Samuel Wales @ 2012-04-21 19:17 ` Achim Gratz 2012-04-21 20:47 ` Samuel Wales 0 siblings, 1 reply; 72+ messages in thread From: Achim Gratz @ 2012-04-21 19:17 UTC (permalink / raw) To: emacs-orgmode Samuel Wales writes: > On 2012-04-21, Achim Gratz <Stromeko@nexgo.de> wrote: >> Did you update to the latest version on master before trying? > > Yes. Then what exactly happens when you do "make oldorg"? If that is trying to make the PDF, I don't understand what is going on or you may have some local changes that you forgot to indicate. > I should say that it's not critical that I get the old way working, > and I might even have a way to build info files manually in principle, > but it might help others if this new makefile scheme works more > smoothly. That's why I'm asking if things are working for you now. If you have a local.mk, please post it's contents (or send it just to me if you don't want to post to the list). 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 19:17 ` Achim Gratz @ 2012-04-21 20:47 ` Samuel Wales 2012-04-22 6:34 ` Achim Gratz 0 siblings, 1 reply; 72+ messages in thread From: Samuel Wales @ 2012-04-21 20:47 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode On 2012-04-21, Achim Gratz <Stromeko@nexgo.de> wrote: > Then what exactly happens when you do "make oldorg"? If that is trying > to make the PDF, I don't understand what is going on or you may have > some local changes that you forgot to indicate. I ran "make all", as I did not realize that you wanted me to do otherwise. :) "make cleanall" still has the pdf errors. Perhaps you don't need that anymore even for oldorg. "make oldorg" compiles but still has the info error. -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 20:47 ` Samuel Wales @ 2012-04-22 6:34 ` Achim Gratz 2012-04-22 15:31 ` Samuel Wales 0 siblings, 1 reply; 72+ messages in thread From: Achim Gratz @ 2012-04-22 6:34 UTC (permalink / raw) To: emacs-orgmode Samuel Wales writes: > "make cleanall" still has the pdf errors. Perhaps you don't need that > anymore even for oldorg. You don't need cleanall anymore, but that's nevertheless a bug. Fixed. > "make oldorg" compiles but still has the info error. I've added a customization for specifying which (if any) documentation should be made by default. If you set ORG_MAKE_DOC = info in local.mk, then you can use all the convenience targets (like update or up2) without the need for texi2pdf. Please check again when Bastien has applied those changes to master. 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-22 6:34 ` Achim Gratz @ 2012-04-22 15:31 ` Samuel Wales 2012-04-22 15:42 ` Achim Gratz 0 siblings, 1 reply; 72+ messages in thread From: Samuel Wales @ 2012-04-22 15:31 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode On 2012-04-21, Achim Gratz <Stromeko@nexgo.de> wrote: >> "make oldorg" compiles but still has the info error. > > I've added a customization for specifying which (if any) documentation > should be made by default. If you set > > ORG_MAKE_DOC = info > > in local.mk, then you can use all the convenience targets (like update > or up2) without the need for texi2pdf. The info error is an info error, not a texi2pdf nonexistence error. I posted a message with the error output. Perhaps your makefiles can check for the existence of possible errors first? -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-22 15:31 ` Samuel Wales @ 2012-04-22 15:42 ` Achim Gratz 0 siblings, 0 replies; 72+ messages in thread From: Achim Gratz @ 2012-04-22 15:42 UTC (permalink / raw) To: emacs-orgmode Samuel Wales writes: > The info error is an info error, not a texi2pdf nonexistence error. I > posted a message with the error output. The output you posted wasn't an error message. Make informs you that it has been told to build something and then determined that the target in question was already fully up-to-date (none of the sources have changed), so it actually didn't need to do anything. I don't suppress this output since it is telling you something useful. Since I now unconditionally update the include file which contains the org version, you will not see that message again on current master. The info file will always be re-generated. 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 13:08 ` Samuel Wales 2012-04-21 13:26 ` Achim Gratz @ 2012-04-21 13:37 ` Jambunathan K 1 sibling, 0 replies; 72+ messages in thread From: Jambunathan K @ 2012-04-21 13:37 UTC (permalink / raw) To: Achim Gratz; +Cc: Orgmode I use Windows and I never got texi2pdf to work properly. I was really stumped because I had no way to test/view my ODT changes in a pdf manual. Finally, I discovered texify. (I use MikTeX) texify --pdf %s So you can use this as the default setting or hint at this possibility (with a commented line) in your platform specific config file (if you have one). -- ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 10:39 ` Bastien 2012-04-21 11:40 ` suvayu ali 2012-04-21 13:08 ` Samuel Wales @ 2012-04-21 14:25 ` François Allisson 2012-04-21 17:57 ` Martyn Jago 2012-04-23 5:05 ` Achim Gratz 2012-04-25 18:00 ` Achim Gratz 4 siblings, 1 reply; 72+ messages in thread From: François Allisson @ 2012-04-21 14:25 UTC (permalink / raw) To: Bastien; +Cc: Achim Gratz, emacs-orgmode > Achim's branch is now merged in Org's git master branch. > > Please test this and report any problem while using make > to install Org. > > -- > Bastien > It runs smoothly for me, using make clean, make, make doc, and make install (without local.mk, having yet no need of it). François. ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 14:25 ` François Allisson @ 2012-04-21 17:57 ` Martyn Jago 2012-04-21 18:30 ` Achim Gratz 0 siblings, 1 reply; 72+ messages in thread From: Martyn Jago @ 2012-04-21 17:57 UTC (permalink / raw) To: emacs-orgmode Hi Achim François Allisson <francois@allisson.co> writes: >> Achim's branch is now merged in Org's git master branch. >> >> Please test this and report any problem while using make >> to install Org. >> >> -- >> Bastien >> > > It runs smoothly for me, using make clean, make, make doc, and make > install (without local.mk, having yet no need of it). > > François. Works nicely for me too, and I have a modified local.mk config for multiple Emacs versions and a non-default org location. Note: `make install check' will make, install, and run the tests! Thanks Achim. Best, Martyn ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 17:57 ` Martyn Jago @ 2012-04-21 18:30 ` Achim Gratz 2012-04-21 20:45 ` François Allisson 2012-04-21 23:27 ` Martyn Jago 0 siblings, 2 replies; 72+ messages in thread From: Achim Gratz @ 2012-04-21 18:30 UTC (permalink / raw) To: emacs-orgmode Martyn Jago writes: > Works nicely for me too, and I have a modified local.mk config for > multiple Emacs versions and a non-default org location. > > Note: `make install check' will make, install, and run the tests! Actually, "make up2" will update all remotes, do a "git pull" on the current branch, compile and test and then finally install org all in one go. Once you have set things up the way you like, that's the fastest way to keep current. The real advantage however is that if there happens to be an error someplace, make is smart enough to stop right there and not install a not-quite working org over an older, but working version. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf rackAttack: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 18:30 ` Achim Gratz @ 2012-04-21 20:45 ` François Allisson 2012-04-21 20:57 ` Samuel Wales 2012-04-21 23:27 ` Martyn Jago 1 sibling, 1 reply; 72+ messages in thread From: François Allisson @ 2012-04-21 20:45 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Le samedi 21 avr 2012 à 20:30:49 (+0200), Achim Gratz a écrit : > Martyn Jago writes: > > Works nicely for me too, and I have a modified local.mk config for > > multiple Emacs versions and a non-default org location. > > > > Note: `make install check' will make, install, and run the tests! > > Actually, "make up2" will update all remotes, do a "git pull" on the > current branch, compile and test and then finally install org all in one > go. Once you have set things up the way you like, that's the fastest > way to keep current. The real advantage however is that if there > happens to be an error someplace, make is smart enough to stop right > there and not install a not-quite working org over an older, but working > version. > Thanks Martyn and Achim for hints on "make install check" and "make up2". The latter is exactly what I needed. Achim's restructuring made me just realise the utility and power of these Makefile rules... It's so nice to learn by using org. Best, François. ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 20:45 ` François Allisson @ 2012-04-21 20:57 ` Samuel Wales 0 siblings, 0 replies; 72+ messages in thread From: Samuel Wales @ 2012-04-21 20:57 UTC (permalink / raw) To: François Allisson; +Cc: Achim Gratz, emacs-orgmode On 2012-04-21, François Allisson <francois@allisson.co> wrote: >> Actually, "make up2" will update all remotes, do a "git pull" on the >> current branch, compile and test and then finally install org all in one >> go. Once you have set things up the way you like, that's the fastest >> way to keep current. The real advantage however is that if there >> happens to be an error someplace, make is smart enough to stop right >> there and not install a not-quite working org over an older, but working >> version. Wow! Is update the same thing without the install part? (Now I want this :), but I'm guessing the pdf and info problems would occur with it?) -- The Kafka Pandemic: http://thekafkapandemic.blogspot.com ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 18:30 ` Achim Gratz 2012-04-21 20:45 ` François Allisson @ 2012-04-21 23:27 ` Martyn Jago 1 sibling, 0 replies; 72+ messages in thread From: Martyn Jago @ 2012-04-21 23:27 UTC (permalink / raw) To: emacs-orgmode Achim Gratz <Stromeko@nexgo.de> writes: Hi Achim > Martyn Jago writes: >> Works nicely for me too, and I have a modified local.mk config for >> multiple Emacs versions and a non-default org location. >> >> Note: `make install check' will make, install, and run the tests! > > Actually, "make up2" will update all remotes, do a "git pull" on the > current branch, compile and test and then finally install org all in one > go. Once you have set things up the way you like, that's the fastest > way to keep current. The real advantage however is that if there > happens to be an error someplace, make is smart enough to stop right > there and not install a not-quite working org over an older, but working > version. > > > Regards, > Achim. Very good! Is it documented? Love it. Best, Martyn ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 10:39 ` Bastien ` (2 preceding siblings ...) 2012-04-21 14:25 ` François Allisson @ 2012-04-23 5:05 ` Achim Gratz 2012-04-25 18:00 ` Achim Gratz 4 siblings, 0 replies; 72+ messages in thread From: Achim Gratz @ 2012-04-23 5:05 UTC (permalink / raw) To: emacs-orgmode Bastien writes: > Please test this and report any problem while using make > to install Org. A few notes based on the feedback here and off-list: The change of org-version was intended to show a complete version string regardless of the place of installation and give a hint of where the autoloads actually come from — it was showing the Git version only when installed inside the repository before. If you run org directly from inside the work tree (possibly uncompiled, though that is an unrelated matter), please do a "make autoloads" to get the correct version shown. I am still experimenting to get the current version displayed without an explicit invocation of make if and only if you run org directly from the lisp directory in the worktree. Doing that is not really difficult (as the old implementation showed), having it work correctly in all situations is another matter; finally I don't want that part of the code active in an installed version even when it is inside the repository, so that it always shows the version that is installed and not one that currently happens to be checked out. I'll probably provide a new make target for setting the work tree up for that (you'll only have to use that once), not sure yet what a good name is for that. I currently see no way of running org directly without generating and loading the org-install.el — doing so appears to work unfortunately, but it actually relies on the autoload forms that have been supplied with the org version that comes with Emacs (which will subtly or not so subtly break depending on how far out of sync the version in Emacs is with the version in Git). So folks who use the Git repository but not make would currently have to generate org-install.el by hand. I'll try to fix that, too — but it'll take a while. If and when I get that done, make will take advantage of it which should take care of keeping things working further down the road. 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-21 10:39 ` Bastien ` (3 preceding siblings ...) 2012-04-23 5:05 ` Achim Gratz @ 2012-04-25 18:00 ` Achim Gratz 2012-04-26 6:55 ` Bastien 4 siblings, 1 reply; 72+ messages in thread From: Achim Gratz @ 2012-04-25 18:00 UTC (permalink / raw) To: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 1808 bytes --] Bastien writes: > Please test this and report any problem while using make > to install Org. Here's another refinement to make "oldorg" the default target unless local.mk is actively edited by the user. If you already have a local.mk file and would like this behaviour, just insert the following on the first line of local.mk: --8<---------------cut here---------------start------------->8--- oldorg: --8<---------------cut here---------------end--------------->8--- With this patch, the new Makefile produces the same results out-of-the box as the old one (modulo the bugs that got fixed: no need for a "make clean" unless you do something really unusual). The patch also adds a new target "uncompiled" that will remove any compiled lisp files that may be around and just creates the autoloads. If you fancy uncompiled installation, insert this as the first line to local.mk: --8<---------------cut here---------------start------------->8--- uncompiled: --8<---------------cut here---------------end--------------->8--- This will enable a plain and simple "make" to do what you want without taking anything away. If you'd rather do something else with a plain "make", you can add your own target definitions there as well (the first one will always be the default target): --8<---------------cut here---------------start------------->8--- fancy: help info uncompiled fancy-install: help install-info install-lisp help:: $(info My fancyness) $(info ============) $(info ) $(info fancy - show help, update doc and autoloads) --8<---------------cut here---------------end--------------->8--- In this case, plain "make" would do "fancy" and you'd have a new target "fancy install" plus a documentation for these when doing a "make help", "make targets" or "make helpall". The patch: [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: Improve compatibility with old Makefile --] [-- Type: text/x-patch, Size: 3753 bytes --] From f9f0c7b4e367259bafac1cb5cbec17dd2cff625a Mon Sep 17 00:00:00 2001 From: Achim Gratz <Stromeko@Stromeko.DE> Date: Wed, 25 Apr 2012 19:04:29 +0200 Subject: [PATCH] Improve compatibility with old Makefile * targets.mk: change the "local.mk" template so that "oldorg" will be the default target for maximum compatibility. Admonish info message with a reminder to use "make help" for more information on targets and that "oldorg" is the default target for now. Add new convenience target "uncompiled" that will keep the lisp directory free from *.elc files and the autoload files up-to-date. * Makefile: make "targets" and "helpall" depend on "help" so that only "help::" or "helpall::" needs to be written for adding more help messages. Useful when users want to add their own messages to "make help" et al. --- Makefile | 14 ++++++++------ targets.mk | 17 +++++++++++------ 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 1258d52..66a637c 100644 --- a/Makefile +++ b/Makefile @@ -10,8 +10,10 @@ all:: # Describe valid make targets for org-mode. -.PHONY: targets help -targets help helpall:: +.PHONY: targets help helpall +targets: help +helpall:: help +help:: $(info ) $(info Getting Help) $(info ============) @@ -61,18 +63,18 @@ helpall:: $(info ) $(info Documentation) $(info =============) -targets help helpall:: +help:: $(info make doc - build all documentation) helpall:: $(info make docs - dito) -targets help helpall:: +help:: $(info make info - build Info documentation) helpall:: $(info make html - build HTML documentation) $(info make pdf - build PDF documentation) $(info make card - build reference cards) $(info make refcard - dito) -targets help helpall:: +help:: $(info ) $(info Installation) $(info ============) @@ -81,7 +83,7 @@ helpall:: $(info make install-etc - build and install files in /etc) $(info make install-lisp - build and install Org Elisp files) $(info make install-info - build and install Info documentation) -targets help helpall:: +help:: @echo "" include targets.mk # toplevel make machinery diff --git a/targets.mk b/targets.mk index e208ad7..4ad5c5f 100644 --- a/targets.mk +++ b/targets.mk @@ -25,19 +25,24 @@ endif check test install info html pdf card doc docs $(INSTSUB) \ autoloads cleanall clean cleancontrib cleanrel clean-install \ cleanelc cleandirs cleanlisp cleandoc cleandocs cleantest \ - compile compile-dirty + compile compile-dirty uncompiled -oldorg: compile autoloads info # what the old makefile did when no target was specified +oldorg: compile autoloads info # what the old makefile did when no target was specified +uncompiled: cleanlisp autoloads # for developing refcard: card update update2:: up0 all .PRECIOUS: local.mk local.mk: - $(info ==========================================) - $(info Created a local.mk template.) - $(info Please adapt local.mk to your local setup!) - $(info ==========================================) + $(info ======================================================) + $(info = Invoke "make help" for a synopsis of make targets. =) + $(info = Created a default local.mk template. =) + $(info = Setting "oldorg" as the default target. =) + $(info = Please adapt local.mk to your local setup! =) + $(info ======================================================) -@$(SED) -n \ + -e '1 i ## Remove the following line to make "all" the default target' \ + -e '1 i oldorg:' \ -e '/-8<-/,/->8-/ {s/^\(\s*[^#]\)/#\1/;p}' \ -e '$$ i ## See default.mk for further configuration options.' \ default.mk > $@ -- 1.7.9.2 [-- Attachment #3: Type: text/plain, Size: 197 bytes --] Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptations for KORG EX-800 and Poly-800MkII V0.9: http://Synth.Stromeko.net/Downloads.html#KorgSDada ^ permalink raw reply related [flat|nested] 72+ messages in thread
* Re: Makefile restructuring 2012-04-25 18:00 ` Achim Gratz @ 2012-04-26 6:55 ` Bastien 0 siblings, 0 replies; 72+ messages in thread From: Bastien @ 2012-04-26 6:55 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Hi Achim, Achim Gratz <Stromeko@nexgo.de> writes: > Bastien writes: >> Please test this and report any problem while using make >> to install Org. > > Here's another refinement to make "oldorg" the default target unless > local.mk is actively edited by the user. Applied, thanks. -- Bastien ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-10 10:07 ` Achim Gratz 2011-07-10 12:55 ` Achim Gratz @ 2011-07-11 11:58 ` Bastien 2011-07-11 15:39 ` Achim Gratz 1 sibling, 1 reply; 72+ messages in thread From: Bastien @ 2011-07-11 11:58 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Hi Achim, Achim Gratz <Stromeko@nexgo.de> 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-11 11:58 ` patch makefile solve a couple debian build problems and a slackware build problem Bastien @ 2011-07-11 15:39 ` Achim Gratz 2011-07-11 18:52 ` Bastien 0 siblings, 1 reply; 72+ messages in thread From: Achim Gratz @ 2011-07-11 15:39 UTC (permalink / raw) To: emacs-orgmode Bastien <bzg@altern.org> 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-11 15:39 ` Achim Gratz @ 2011-07-11 18:52 ` Bastien 0 siblings, 0 replies; 72+ messages in thread From: Bastien @ 2011-07-11 18:52 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Achim Gratz <Stromeko@nexgo.de> 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-10 9:20 ` Bastien 2011-07-10 10:07 ` Achim Gratz @ 2011-07-10 12:21 ` Nick Dokos 2011-07-10 12:49 ` Achim Gratz 2011-07-11 20:01 ` [PATCH] was: " Achim Gratz 2 siblings, 1 reply; 72+ messages in thread From: Nick Dokos @ 2011-07-10 12:21 UTC (permalink / raw) To: Bastien; +Cc: Jude DaShiell, nicholas.dokos, emacs-orgmode Bastien <bzg@altern.org> wrote: > Hi Jude, > > Jude DaShiell <jdashiel@shellworld.net> 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-10 12:21 ` Nick Dokos @ 2011-07-10 12:49 ` Achim Gratz 2011-07-10 14:02 ` Jude DaShiell 0 siblings, 1 reply; 72+ messages in thread From: Achim Gratz @ 2011-07-10 12:49 UTC (permalink / raw) To: emacs-orgmode Nick Dokos <nicholas.dokos@hp.com> 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 ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-10 12:49 ` Achim Gratz @ 2011-07-10 14:02 ` Jude DaShiell 0 siblings, 0 replies; 72+ messages in thread From: Jude DaShiell @ 2011-07-10 14:02 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode 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 <nicholas.dokos@hp.com> 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. > ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: [PATCH] was: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-10 9:20 ` Bastien 2011-07-10 10:07 ` Achim Gratz 2011-07-10 12:21 ` Nick Dokos @ 2011-07-11 20:01 ` Achim Gratz 2011-07-11 21:40 ` Nick Dokos 2011-07-11 22:19 ` Bastien 2 siblings, 2 replies; 72+ messages in thread From: Achim Gratz @ 2011-07-11 20:01 UTC (permalink / raw) To: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 261 bytes --] Bastien <bzg@altern.org> writes: > Achim and Nick, can I safely apply your patch or was it still a beta > version? I've reworked my patch to include a changelog and correct documentation. Additionally I've now tested it on Windows, both with Cygwin and Msys. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-remove-Makefile-target-install-info-debian-modify-in.patch --] [-- Type: text/x-patch, Size: 3148 bytes --] From 11a243c4c01f5c2802328e3e4f7956abbaafd7e8 Mon Sep 17 00:00:00 2001 From: Achim Gratz <Stromeko@Stromeko.DE> Date: Sun, 10 Jul 2011 08:42:20 +0200 Subject: [PATCH] remove Makefile target install-info-debian, modify install-info to be compatible * Makefile: remove target install-info-debian and modify target install-info so that it is compatible with the older dpkg version of install-info that resides in /usr/sbin and may be picked up when root is installing info files Initial reporting by Jude DaShiell, suggestions for changing Makefile by Nick Dokos. The solution implemented re-arranges the arguments to install-info to be compatible with both the dpkg and GNU version of the program. On Debian, /usr/bin/install-info is actually a wrapper that calls /usr/bin/ginstall-info and issues the following warning when called as root: This is not dpkg install-info anymore, but GNU install-info See the man page for ginstall-info for command line arguments This warning can be safely ignored since we actually prefer that GNU install-info is called even though we've arranged the arguments to be compatible with dpkg install-info. Tested on openSuSE Tumbleweed, Win7/Pro (both MSys and Cygwin) and by Jude DaShiell on Debian Squeeze and Slackware. TINYCHANGE --- Makefile | 3 --- doc/org.texi | 18 ++++++++++++------ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index fe833d7..eb2597f 100644 --- a/Makefile +++ b/Makefile @@ -222,9 +222,6 @@ install-lisp: $(LISPFILES) $(ELCFILES) install-info: $(INFOFILES) if [ ! -d $(infodir) ]; then $(MKDIR) $(infodir); else true; fi ; $(CP) $(INFOFILES) $(infodir) - $(INSTALL_INFO) --info-file=$(INFOFILES) --info-dir=$(infodir) - -install-info-debian: $(INFOFILES) $(INSTALL_INFO) --infodir=$(infodir) $(INFOFILES) autoloads: lisp/org-install.el diff --git a/doc/org.texi b/doc/org.texi index 7f92382..c8ff8a0 100644 --- a/doc/org.texi +++ b/doc/org.texi @@ -880,15 +880,21 @@ make install @end example Installing Info files is system dependent, because of differences in the -@file{install-info} program. In Debian it copies the info files into the -correct directory and modifies the info directory file. In many other -systems, the files need to be copied to the correct directory separately, and -@file{install-info} then only modifies the directory file. Check your system -documentation to find out which of the following commands you need: +@file{install-info} program. The following should correctly install the Info +files on most systems, please send a bug report if not@footnote{The output +from install-info (if any) is also system dependent. In particular Debian +and it's derivatives use two different versions of install-info and you may +see the message: + +@example +This is not dpkg install-info anymore, but GNU install-info +See the man page for ginstall-info for command line arguments +@end example + +@noindent which can be safely ignored.}. @example make install-info -make install-info-debian @end example Then add the following line to @file{.emacs}. It is needed so that -- 1.7.6 [-- Attachment #3: Type: text/plain, Size: 184 bytes --] 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 ^ permalink raw reply related [flat|nested] 72+ messages in thread
* Re: [PATCH] was: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-11 20:01 ` [PATCH] was: " Achim Gratz @ 2011-07-11 21:40 ` Nick Dokos 2011-07-11 22:19 ` Bastien 2011-07-13 15:45 ` Achim Gratz 2011-07-11 22:19 ` Bastien 1 sibling, 2 replies; 72+ messages in thread From: Nick Dokos @ 2011-07-11 21:40 UTC (permalink / raw) To: Achim Gratz; +Cc: nicholas.dokos, emacs-orgmode Achim Gratz <Stromeko@nexgo.de> wrote: > From 11a243c4c01f5c2802328e3e4f7956abbaafd7e8 Mon Sep 17 00:00:00 2001 > From: Achim Gratz <Stromeko@Stromeko.DE> > Date: Sun, 10 Jul 2011 08:42:20 +0200 > Subject: [PATCH] remove Makefile target install-info-debian, modify > install-info to be compatible > > * Makefile: remove target install-info-debian and modify target > install-info so that it is compatible with the older dpkg version > of install-info that resides in /usr/sbin and may be picked up > when root is installing info files > > Initial reporting by Jude DaShiell, suggestions for changing Makefile > by Nick Dokos. The solution implemented re-arranges the arguments to > install-info to be compatible with both the dpkg and GNU version of > the program. On Debian, /usr/bin/install-info is actually a wrapper > that calls /usr/bin/ginstall-info and issues the following warning > when called as root: > > This is not dpkg install-info anymore, but GNU install-info > See the man page for ginstall-info for command line arguments > > This warning can be safely ignored since we actually prefer that GNU > install-info is called even though we've arranged the arguments to > be compatible with dpkg install-info. > > Tested on openSuSE Tumbleweed, Win7/Pro (both MSys and Cygwin) and by > Jude DaShiell on Debian Squeeze and Slackware. > > TINYCHANGE > --- > Makefile | 3 --- > doc/org.texi | 18 ++++++++++++------ > 2 files changed, 12 insertions(+), 9 deletions(-) > > diff --git a/Makefile b/Makefile > index fe833d7..eb2597f 100644 > --- a/Makefile > +++ b/Makefile > @@ -222,9 +222,6 @@ install-lisp: $(LISPFILES) $(ELCFILES) > install-info: $(INFOFILES) > if [ ! -d $(infodir) ]; then $(MKDIR) $(infodir); else true; fi ; > $(CP) $(INFOFILES) $(infodir) > - $(INSTALL_INFO) --info-file=$(INFOFILES) --info-dir=$(infodir) > - > -install-info-debian: $(INFOFILES) > $(INSTALL_INFO) --infodir=$(infodir) $(INFOFILES) > > autoloads: lisp/org-install.el > diff --git a/doc/org.texi b/doc/org.texi > index 7f92382..c8ff8a0 100644 > --- a/doc/org.texi > +++ b/doc/org.texi > @@ -880,15 +880,21 @@ make install > @end example > > Installing Info files is system dependent, because of differences in the > -@file{install-info} program. In Debian it copies the info files into the > -correct directory and modifies the info directory file. In many other > -systems, the files need to be copied to the correct directory separately, and > -@file{install-info} then only modifies the directory file. Check your system > -documentation to find out which of the following commands you need: > +@file{install-info} program. The following should correctly install the Info > +files on most systems, please send a bug report if not@footnote{The output > +from install-info (if any) is also system dependent. In particular Debian > +and it's derivatives use two different versions of install-info and you may ^^^^ its > +see the message: > + > +@example > +This is not dpkg install-info anymore, but GNU install-info > +See the man page for ginstall-info for command line arguments > +@end example > + > +@noindent which can be safely ignored.}. > > @example > make install-info > -make install-info-debian > @end example > > Then add the following line to @file{.emacs}. It is needed so that > -- > 1.7.6 Looks good to me - tested on Ubuntu 10.10. Thanks, Nick ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: [PATCH] was: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-11 21:40 ` Nick Dokos @ 2011-07-11 22:19 ` Bastien 2011-07-13 15:45 ` Achim Gratz 1 sibling, 0 replies; 72+ messages in thread From: Bastien @ 2011-07-11 22:19 UTC (permalink / raw) To: nicholas.dokos; +Cc: Achim Gratz, emacs-orgmode Nick Dokos <nicholas.dokos@hp.com> writes: >> +and it's derivatives use two different versions of install-info and you may > ^^^^ > its Fixed, thanks! -- Bastien ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: [PATCH] was: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-11 21:40 ` Nick Dokos 2011-07-11 22:19 ` Bastien @ 2011-07-13 15:45 ` Achim Gratz 2011-07-14 15:51 ` Bastien 1 sibling, 1 reply; 72+ messages in thread From: Achim Gratz @ 2011-07-13 15:45 UTC (permalink / raw) To: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 333 bytes --] Nick Dokos <nicholas.dokos@hp.com> writes: >> +and it's derivatives use two different versions of install-info and you may > ^^^^ > its Thanks for catching that. My patch also did not remove the documentation of the removed target in the help/targets section of the Makefile. I'm attaching a patch to correct that. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-remove-documentation-for-removed-make-target-install.patch --] [-- Type: text/x-patch, Size: 817 bytes --] From 5372528a02d29ef92487d2a9cf46663804f8c9e2 Mon Sep 17 00:00:00 2001 From: Achim Gratz <Stromeko@Stromeko.DE> Date: Wed, 13 Jul 2011 17:26:45 +0200 Subject: [PATCH] remove documentation for removed make target install-info-debian * Makefile: also remove the documentation explaining the use of target install-info-debian, which was removed previously TINYCHANGE --- Makefile | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/Makefile b/Makefile index eb2597f..10093ed 100644 --- a/Makefile +++ b/Makefile @@ -527,4 +527,3 @@ targets help: @echo "make install - install Org" @echo "make install-lisp - install Org ELisp files" @echo "make install-info - install Org Info file" - @echo "make install-info-debian - install info on old debian systems (newer use ginstall)" -- 1.7.6 [-- Attachment #3: Type: text/plain, Size: 190 bytes --] Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptations for Waldorf Q V3.00R3 and Q+ V3.54R2: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada ^ permalink raw reply related [flat|nested] 72+ messages in thread
* Re: [PATCH] was: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-13 15:45 ` Achim Gratz @ 2011-07-14 15:51 ` Bastien 0 siblings, 0 replies; 72+ messages in thread From: Bastien @ 2011-07-14 15:51 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Achim Gratz <Stromeko@nexgo.de> writes: > My patch also did not remove the documentation of the removed target in > the help/targets section of the Makefile. I'm attaching a patch to > correct that. Applied, thanks! -- Bastien ^ permalink raw reply [flat|nested] 72+ messages in thread
* Re: [PATCH] was: patch makefile solve a couple debian build problems and a slackware build problem 2011-07-11 20:01 ` [PATCH] was: " Achim Gratz 2011-07-11 21:40 ` Nick Dokos @ 2011-07-11 22:19 ` Bastien 1 sibling, 0 replies; 72+ messages in thread From: Bastien @ 2011-07-11 22:19 UTC (permalink / raw) To: Achim Gratz; +Cc: emacs-orgmode Achim Gratz <Stromeko@nexgo.de> writes: > Bastien <bzg@altern.org> writes: >> Achim and Nick, can I safely apply your patch or was it still a beta >> version? > > I've reworked my patch to include a changelog and correct documentation. > Additionally I've now tested it on Windows, both with Cygwin and Msys. Great, thanks! I just applied this patch. -- Bastien ^ permalink raw reply [flat|nested] 72+ messages in thread
end of thread, other threads:[~2012-04-26 6:55 UTC | newest] Thread overview: 72+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-07-10 9:10 patch makefile solve a couple debian build problems and a slackware build problem Jude DaShiell 2011-07-10 9:20 ` Bastien 2011-07-10 10:07 ` Achim Gratz 2011-07-10 12:55 ` Achim Gratz 2011-07-10 20:03 ` Achim Gratz 2011-07-11 12:01 ` Bastien 2011-07-11 16:00 ` Achim Gratz 2011-07-11 18:53 ` Bastien 2011-07-13 16:08 ` Makefile restructuring Achim Gratz 2011-07-16 11:54 ` Bastien 2011-07-16 14:56 ` Achim Gratz 2011-07-16 21:17 ` Achim Gratz 2011-07-17 17:30 ` Achim Gratz 2011-12-16 9:59 ` Achim Gratz 2011-07-19 18:28 ` Achim Gratz 2011-10-28 10:00 ` Achim Gratz 2011-10-29 11:22 ` Michael Brand 2011-10-30 7:33 ` Achim Gratz 2011-10-30 14:20 ` Michael Brand 2011-11-06 19:06 ` Achim Gratz 2011-11-06 19:18 ` Jambunathan K 2011-11-06 19:38 ` Achim Gratz 2011-11-06 20:25 ` Jambunathan K 2011-11-08 21:35 ` Achim Gratz 2011-11-13 12:47 ` Achim Gratz 2011-11-08 18:00 ` Achim Gratz 2011-11-08 21:23 ` Achim Gratz 2012-04-21 10:39 ` Bastien 2012-04-21 11:40 ` suvayu ali 2012-04-21 13:08 ` Samuel Wales 2012-04-21 13:26 ` Achim Gratz 2012-04-21 13:49 ` Samuel Wales 2012-04-21 14:34 ` Achim Gratz 2012-04-21 15:41 ` Samuel Wales 2012-04-21 15:44 ` Achim Gratz 2012-04-22 15:22 ` suvayu ali 2012-04-22 15:34 ` Achim Gratz 2012-04-23 7:32 ` suvayu ali 2012-04-24 1:46 ` Mike McLean 2012-04-24 4:55 ` Achim Gratz 2012-04-21 15:29 ` Achim Gratz 2012-04-21 15:43 ` Bastien 2012-04-21 18:50 ` Samuel Wales 2012-04-21 18:55 ` Achim Gratz 2012-04-21 19:12 ` Samuel Wales 2012-04-21 19:17 ` Achim Gratz 2012-04-21 20:47 ` Samuel Wales 2012-04-22 6:34 ` Achim Gratz 2012-04-22 15:31 ` Samuel Wales 2012-04-22 15:42 ` Achim Gratz 2012-04-21 13:37 ` Jambunathan K 2012-04-21 14:25 ` François Allisson 2012-04-21 17:57 ` Martyn Jago 2012-04-21 18:30 ` Achim Gratz 2012-04-21 20:45 ` François Allisson 2012-04-21 20:57 ` Samuel Wales 2012-04-21 23:27 ` Martyn Jago 2012-04-23 5:05 ` Achim Gratz 2012-04-25 18:00 ` Achim Gratz 2012-04-26 6:55 ` Bastien 2011-07-11 11:58 ` patch makefile solve a couple debian build problems and a slackware build problem Bastien 2011-07-11 15:39 ` Achim Gratz 2011-07-11 18:52 ` Bastien 2011-07-10 12:21 ` Nick Dokos 2011-07-10 12:49 ` Achim Gratz 2011-07-10 14:02 ` Jude DaShiell 2011-07-11 20:01 ` [PATCH] was: " Achim Gratz 2011-07-11 21:40 ` Nick Dokos 2011-07-11 22:19 ` Bastien 2011-07-13 15:45 ` Achim Gratz 2011-07-14 15:51 ` Bastien 2011-07-11 22:19 ` Bastien
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).