summaryrefslogtreecommitdiff
path: root/HACKING
Commit message (Collapse)AuthorAgeFilesLines
* HACKING: commit messages are not to follow GCS ChangeLog rules too stronglyStefano Lattarini2013-01-101-4/+4
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* HACKING: "detailed explanation" in commit messages is almost mandatoryStefano Lattarini2013-01-101-2/+3
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* HACKING: we use "merge --log" even when merging masterStefano Lattarini2013-01-101-3/+3
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* HACKING: typofixStefano Lattarini2013-01-101-1/+1
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* maint: update copyright year for 2013 (in branch maint)Stefano Lattarini2012-12-311-1/+1
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* HACKING: release process: fixlets about the announcementStefano Lattarini2012-12-151-10/+14
| | | | | | | | | | * HACKING: The announcement should be generate *before* bumping the version number to the next alpha number. Also, only an abridged version of the announcement should be copied on the Savannah news feed (a link to the complete announcement should be linked from there, though). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* HACKING: update instructions to update the manuals at www.gnu.orgStefano Lattarini2012-12-131-4/+19
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* docs: add rule to generate manuals for www.gnu.orgStefano Lattarini2012-12-091-6/+3
| | | | | | | | | | | | | | Less clerical work to do by hand. * Makefile.am (web-manuals): New rule. (clean_texinfo_clutter): New macro. * clean-web-manuals, clean-texinfo-clutter: New cleaning rules. (clean-local): Depend on them. * .gitignore: Update. * HACKING: Adjust instructions for generation of manuals. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* docs: copy the 'gendocs.sh' script from Texinfo CVS repositoryStefano Lattarini2012-12-081-3/+2
| | | | | | | | | | | | | As well as the 'gendocs_template' file. And enhance the "make fetch" target to keep them synced. It's better than having to fetch these files by hand each time a release is to be made. * Makefile.am (FETCHFILES): List 'gendocs.sh' and 'gendocs_template'. (fetch): Fetch them, into 'lib/'. (EXRA_DIST): Distribute them. * HACKING: Adjust instructions for generation of manuals. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* release: generate a stub for the release announcementStefano Lattarini2012-12-081-0/+4
| | | | | | | | | | | | | | | | | | | It's much better than having to write it my hand each time; after all, most of it is either boilerplate or a cope of NEWS entries. * Makefile.am (determine_release_type): Also set the shell variable '$announcement_type' appropriately. (print-release-type): Print the value of this new variable as well. (announcement): New phony target, generate a files with the same name. The recipe uses the shell variable '$announcement_type'. (CLEANFILES): Clean it. (PACKAGE_MAILINGLIST): New make macro, used when generating the 'announcement' file. * HACKING: Explain how to take advantage of the new convenience target. * .gitignore: Ignore the 'announcement' file. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* hacking: release procedure: fix order of some stepsStefano Lattarini2012-11-171-6/+6
| | | | | | | | * HACKING (Release procedure): The manuals should be rebuilt and uploaded at at www.gnu.org *before* bumping the version number to the next alpha release. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* readme: fixlets to HACKINGStefano Lattarini2012-08-121-11/+18
| | | | | | | | | | | * HACKING: Use longer "=====" lines to separate different section (this is just eye-candy admittedly, but I prefer it). (Release procedure): Don't tell to "update NEWS"; that should be updated throughout the normal course of development. Instead, tell to just check it. Improve description of the re-bootstrapping and rechecking procedure, also suggesting to use "git clean" beforehand (with all due warnings!). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* release: remove overly picky checkStefano Lattarini2012-05-191-4/+4
| | | | | | | | | * Makefile.am (git-tag-release): Do not check that the version number NEWS is updated w.r.t. $(VERSION); given the new way we manage NEWS, that would cause gratuitous spurious failures. * HACKING: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* hacking: copyright notices must be updated before releasingStefano Lattarini2012-04-301-0/+4
| | | | | | * HACKING (Release procedure): Suggest to use "make update-copyright". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* fixup: avoid unconditional re-bootstrapping on "make dist"Stefano Lattarini2012-04-281-3/+3
| | | | | | | | | | | | | | | | | | | | | Since our 'bootstrap' script is distributed, the 'distdir' target depends on it. But in our GNUmakefile, we also have a 'bootstrap' target declared .PHONY, which when called re-bootstrap the Automake distribution. Thus, whenever we run "make dist", GNU make sees it must remake the 'bootstrap' target (as it is a dependency of the 'distdir' target), and thus ends up re-bootstrapping all the package (because of the .PHONY 'bootstrap' target in GNUmakefile). We fix this issue by renaming our bootstrap script to 'bootstrap.sh'. * bootstrap: Renamed ... * bootstrap.sh: ... to this. * GNUmakefile (bootstrap): Adjust. * Makefile.am (EXTRA_DIST): Likewise. (autodiffs): Likewise. * HACKING: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* hacking: fix typoStefano Lattarini2012-04-181-1/+1
| | | | | | | * HACKING (Test suite): Refer to file 't/README', not to the non-existent 'tests/README'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* hacking: fixlets w.r.t. the release procedureStefano Lattarini2012-04-111-3/+3
| | | | | | | | | * HACKING (Release procedure): Do not state that the result of "make fetch" is woefully incomplete: this is not true anymore today. Suggest to re-run the testsuite after a "make fetch", in case any file has been updated. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* hacking: described new branching policy for 1.12 an laterStefano Lattarini2012-04-111-37/+16
| | | | | | | | | | | | | | | | | | This change closes automake bug#11153. * HACKING (Working with git): Document the new policy for automake branching and merging, which will start being applied after 1.12 is released: - the maintenance branch will be 'maint', and we will cut the maintenance releases directly from there; - the development branch will be 'master', and we will cut the new releases directly from there; - 'maint' will be kept regularly merged into 'master'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* hacking: autotools-generated files are not committed anymoreStefano Lattarini2012-04-021-4/+0
| | | | | | | | | * HACKING (Working with git) Generated files like 'configure', 'Makefile.in' and 'aclocal.m4' are not committed anymore in our git repository since some months. Remove obsoleted advices that assumed they still were. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* hacking: simplify documentation of bootstrapping processStefano Lattarini2012-04-021-6/+2
| | | | | | | | | | | * HACKING (Working with git): Do not suggest that, to ensure the bootstrapping process is performed with the latest autotools, the developer could explicitly pass $AUTOCONF and $AUTOM4TE in the environment to the ./bootstrap and ./configure invocations: that is a little tricky and quite fragile. Instead, suggest to just put modern-enough version of the autotools early in PATH. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'maint'Stefano Lattarini2012-03-181-0/+3
|\ | | | | | | | | | | | | | | | | | | * maint: install-mans: avoid spurious failure with NetBSD make install: don't create empty dirs when an empty 'foo_PRIMARY' is used aclocal: remove a couple of useless imports aclocal: create local directory where to install m4 files Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * install: don't create empty dirs when an empty 'foo_PRIMARY' is usedStefano Lattarini2012-03-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes automake bug#11030 and bug#10997. An empty declaration of "foo_PRIMARY" in a Makefile.am used to cause the generated install rules to create the directory $(foodir) anyway, even if nothing was to be installed there. While this could be seen as a convenient way to create a $(foodir) directory upon "make install" (respecting $(DESTDIR) settings and such), it also caused problems with conditionals; for example, an input of: if FALSE pgkdata_DATA = something endif caused the generated install rules to unconditionally create the $(pkgdatadir) directory (see automake bug#10997). Also, a user wanting to create an empty directory upon installation can easily do so with a custom install hook, as in: installdirs-local: $(MKDIR_P) $(DESTDIR)$(foodir) install-data-hook: installdirs-local On the other hand, the old behavior of "always create $(foodir), even if 'foo_PRIMARY' is empty" was harder and more tricky to override. Thus, from now on, an empty declaration of "foo_PRIMARY" will not cause the directory $(foodir) to be created upon "make install" anymore. * lib/am/data.am, lib/am/java.am, lib/am/libs.am, lib/am/lisp.am, lib/am/ltlib.am, lib/am/mans.am, lib/am/progs.am, lib/am/python.am, lib/am/scripts.am, lib/am/texinfos.am: Adjust install rules to avoid creating an installation directory if no files are actually to be installed there. * tests/instdir-empty.test: Remove, it was testing a semantic opposite to the one we now want and implement. * tests/instdir-no-empty.test: New test, check the new semantic. * tests/instdir-cond.test: Enhance. Move the still-failing part of the test ... * tests/instdir-cond2.test: ... here. * tests/list-of-tests.mk, tests/Makefile.am (XFAIL_TESTS): Update. * tests/java3.test: Adjust to avoid spurious failures. * HACKING, NEWS, THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * Merge branch 'msvc' into maintPeter Rosin2012-03-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This merge remedies the confusing situation that some changes destined for both the master branch and the release branch (a.k.a. branch-1.11) currently needs to be made on the non-obvious msvc branch and not on the more natural maint branch. This has caused a seemingly endless string of less than optimal commits. The reason for the confusion stems from the fact that the changes made on the msvc branch became too radical and was considered only suitable for the master branch, and was thus written in a form suitable for master and then merged there. Later, the msvc branch was merged directly into branch-1.11, in order to rush the new features to the market and to keep the released scripts (lib/ar-lib, lib/compile and lib/depcomp) consistent with those on the master branch. However, some changes had to be made to the features added by the msvc branch in order for them to fit the requirements of branch-1.11, notably that the warnings issued in the extra-portability class cannot be enabled by -Wall in the 1.11.x maintenance releases. In retrospect, it would have been better to not merge msvc directly into branch-1.11, but instead do it via the maint branch (followed up with a dummy merge from maint into master) the moment it was decided that the msvc changes should make it into branch-1.11. All in all, this merge is going to affect neither the master branch nor branch-1.11, since it is followed up with dummy merges masking all changes. The merge is made to maintain the sanity of the poor developers, who wishes to once again have a working maint branch. Discussion about merging the msvc branch into branch-1.11: http://lists.gnu.org/archive/html/automake/2011-10/msg00030.html Discussion about why this merge hasn't happened before: http://lists.gnu.org/archive/html/automake/2011-12/msg00051.html Extra edits below. * lib/Automake/ChannelDefs.pm: Use the version from branch-1.11. * tests/ar-lib3.test: Likewise. * tests/ar-lib4.test: Likewise. * tests/extra-portability.test: Likewise. * tests/extra-portability2.test: Likewise. * tests/extradep.test: Likewise. * tests/extradep2.test: Likewise. * tests/list-of-tests.mk: Likewise. * HACKING: Backport the version from branch-1.11 while at it (as the change on branch-1.11 is also present on master via an unrelated commit), even though this change has nothing to do with the changes on the msvc branch.
* | hacking: document format for git commit messagesStefano Lattarini2012-02-261-2/+61
| | | | | | | | | | | | | | * HACKING (Writing a good commit message): New section. (Working with git): A related minor adjustment. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | hacking: update advice w.r.t. release processStefano Lattarini2012-02-231-6/+13
| | | | | | | | | | | | | | * HACKING: Don't describe the obsolete 'git-release' target anymore. Instead, document the new and improved targets 'git-tag-release' and 'git-upload-release' (introduced in commit v1.11-674-gaf5f939 of 25-01-2012, "release: revamp rules to tag and upload the releases").
* | hacking: do not quote `like this', as per GCS recommendationStefano Lattarini2012-02-231-19/+19
| | | | | | | | | | | | | | * HACKING: Quote 'like this' or "like this", not `like this'. This is done for consistency with the new recommendations in the GNU Coding Standards, and because I've come to actually prefer the '...' and "..." quoting format over the `...' one.
* | maint: run "make update-copyright"Stefano Lattarini2012-02-161-2/+1
| |
* | docs: move chapter on automake history out of main manualStefano Lattarini2012-02-121-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The chapter on Automake history, while certainly interesting and even fascinating, does not truly pertain to a reference manual, so move it out from there and into its own dedicated file. This change is made more advisable and pressing by the fact that such and "Automake history" chapter hasn't been updated since the 1.9.6 release, so it has been becoming less faithful and useful since then. * doc/history.texi: New, manual on the history of the automake package; extracted from ... * doc/automake.texi: ... this file, with related adjustments. * doc/Makefile.am (info_TEXINFOS): Add 'history.texi'. (history_TEXINFOS): New, list included file 'fdl.texi'. * Makefile.am (release-stats): Remove as obsolete. * HACKING (Release Procedure): Don't advise anymore to run the "release-stats" target and to update the manual with its output. * NEWS: Update. * .gitignore: Likewise.
* | Merge branch 'maint'Stefano Lattarini2012-01-311-20/+14
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: tests: do not assume the object file extension is .o tests: avoid spurious failure of 'transform2.test' on Cygwin tests: avoid spurious failure of deleted-am.test with FreeBSD make tests: avoid possibly undeserved PASS from check8.test warnings: more precise category and message for one warning release: revamp rules to tag and upload the releases amversion: add missing dependency hacking: update advice w.r.t. synced files hacking: don't reference ChangeLog anymore + Extra non-trivial edits: * tests/suffix8.tap: Copy in (by hand) the modifications done to 'suffix8.test' on maint, i.e., the addition of an explicit '.y_.obj:' suffix rule to Makefile.am.
| * hacking: update advice w.r.t. synced filesStefano Lattarini2012-01-251-7/+7
| | | | | | | | | | | | | | | | | | | | | | * HACKING: Update and improve advices and explanations about files in the automake repository that are now owned by automake, but mirrored from other upstreams. Also, don't list these files explicitly, rather point the reader to the $(FETCHFILES) variable in Makefile.am. * Makefile.am (FETCHFILES): Don't state that "there should be a lot more here", as this is not true anymore today. Only 'COPYING' must be synced by hand.
| * hacking: don't reference ChangeLog anymoreStefano Lattarini2012-01-251-13/+7
| | | | | | | | | | | | | | | | * HACKING: Don't reference the ChangeLog file anymore, since that is now generated from the git commit messages, not maintained by hand. So remove advice that is obsolete, and speak about "git commit message" instead of "ChangeLog entry" for advice that is still relevant.
* | Merge branch 'maint' into master.Stefano Lattarini2011-12-221-4/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * m4/regex.m4: Bump serial number by some notches, for good measure. Prefer the deprecation message from maint over that from master. * m4/python.m4: Bump serial number. * tests/Makefile.am (canon6.log): Depend on `libtool-macros.log'. (canon7.log): Likewise. (extradep2.log): Likewise. (ar-lib4.log): Likewise. (ar-lib6a.log): Likewise. (ar-lib6b.log): Likewise. (vartypo2): Likewise. (posixsubst-ltlibraries.log): Likewise. * tests/defs: Adjust the path of the included `get.sh' scripts generated by `libtool-macros.test' and `gettext-macros.test'. * aclocal.m4: Delete, it's auto-generated now. * configure: Likewise. * Makefile.in: Likewise. * doc/Makefile.in: Likewise. * m4/Makefile.in: Likewise. * tests/Makefile.in: Likewise. * lib/Makefile.in: Likewise. * lib/am/Makefile.in: Likewise. * lib/Automake/Makefile.in: Likewise. * lib/Automake/tests/Makefile.in: Likewise. * .gitignore: Correctly ignored the autogenerated files that are not committed anymore.
| * hacking: distribute it, and mention it in the ChangeLogStefano Lattarini2011-12-221-3/+0
| | | | | | | | | | | | | | | | | | | | Not distributing the HACKING file might make it more difficult, for some random curious user, to get informed about or interested in the Automake development process, or to send us patches. * Makefile.am (EXTRA_DIST): Add HACKING. * HACKING: It's OK to distribute this file, and to mention it in the ChangeLog.
| * configure: print proper message for test releasesStefano Lattarini2011-12-221-1/+1
| | | | | | | | | | | | | | | | | | * configure.ac: If the current release is detected to be a test release or a development snapshot, print a proper warning for the user. * README-alpha: Delete, it's obsolete now (and in fact this file hasn't been touched in eleven years, since release 1.4b or so). * HACKING (Release procedure): Don't say to update README-alpha.
* | Merge branch 'maint'Stefano Lattarini2011-12-201-24/+23
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: test defs: hack to support autoconf-wrapper programs tests: fix a minor spurious failure with FreeBSD make tests: make two test scripts executable readme: reference webpages for automake mailing lists readme: update advice about testsuite execution readme: don't reference the old homepage at sources.redhat.com hacking: some more fixlets * NEWS: Fix typo in 'make dist-bzip2' description. release: don't run "make distcheck" automatically hacking: update on-line documentation for stable releases only hacking: described release procedure applies to beta releases too readme: the documentation is production quality now hacking: tell about platform-testers mailing list hacking: we don't use sources.redhat.com anymore hacking: miscellaneous minor fixes
| * hacking: some more fixletsStefano Lattarini2011-12-121-2/+3
| | | | | | | | | | | | | | | | | | | | | | * HACKING (Release Procedure): Place the list of pre-release bootstrap-and-test commands on a line of its own, so it's easy to select and then paste it into a terminal window. Fix the explanation of "make git-release", as, since the previous change, "make git-release" would simply run "make dist" rather than "make distcheck". Suggestion from Jim Meyering.
| * release: don't run "make distcheck" automaticallyStefano Lattarini2011-12-101-1/+1
| | | | | | | | | | | | | | | | * Makefile.am (git-dist): The developers should test extensively before finally creating the release tarball; so don't run "make distcheck" on their behalf here; instead ... * HACKING (Release procedure): ... state here that "make check" and "make distcheck" should be run before calling "make git-dist".
| * hacking: update on-line documentation for stable releases onlyStefano Lattarini2011-12-101-1/+1
| | | | | | | | | | * HACKING (Release procedure): On-line documentation at www.gnu.org should be updated for stable releases only.
| * hacking: described release procedure applies to beta releases tooStefano Lattarini2011-12-101-0/+4
| | | | | | | | | | * HACKING (Release procedure): Explicitly state that the described procedure is valid for alpha/beta versions as well.
| * hacking: tell about platform-testers mailing listStefano Lattarini2011-12-101-3/+6
| | | | | | | | | | | | * HACKING (Release procedure): Announces for alpha and beta releases should be sent to the `platform-testers@gnu.org' mailing list. Some related rewording.
| * hacking: we don't use sources.redhat.com anymoreStefano Lattarini2011-12-101-11/+0
| | | | | | | | | | * HACKING (Release procedure): Don't explain how to upload the web pages at sources.redhat.com; we don't use that anymore.
| * hacking: miscellaneous minor fixesStefano Lattarini2011-12-101-7/+9
| | | | | | | | | | | | | | | | | | * HACKING (Administrivia): If a commit fixes a bug registered at GNU debbugs, its bug number be reported in the ChangeLog entry. Re-order the entries to give more visibility to the advice on how to verify that a commit really fixes a bug. (Working with git): Improve advice about which pre-existing branch a topic branch should be based on.
* | Merge branch 'maint'Stefano Lattarini2011-08-181-2/+2
|\ \ | |/ | | | | | | | | | | | | * maint: * THANKS (Daniel Richard G.): Update e-mail address. java: avoid compilation errors when CLASSPATH is empty parallel-tests: no more spurious successes for FreeBSD make hacking: we now require autoconf 2.68
| * hacking: we now require autoconf 2.68Stefano Lattarini2011-08-111-2/+2
| | | | | | | | | | * HACKING ("Working in git"): Use autoconf and autom4te 2.68, not 2.67, in the examples.
* | Merge branch 'maint'Stefano Lattarini2011-07-031-1/+6
|\ \ | |/ | | | | | | * maint: docs, tests: synchronize examples from docs to tests
| * docs, tests: synchronize examples from docs to testsStefano Lattarini2011-07-011-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tests/README (Writing test cases): Give suggestions on how to keep test cases and examples in the documentation synchronized. * doc/automake.texi: Improve or fix existing testcase-referencing comments, and add many new ones. * HACKING (Administrivia): Suggest to test complex examples and idioms from the manual. * tests/specflg8.test: Improve synchronization with the example in the manual. * tests/output11.test:Likewise. * tests/txinfo21.test:Likewise. * tests/interp.test: Likewise. Since we are at it, and enable the `errexit' shell flag, do related changes, and add trailing `:'command. * tests/amhello-cflags.test: New test. * tests/amhello-cross-compile.test: Likewise. * tests/amhello-binpkg.test: Likewise. * tests/tests-environment-backcompat: Likewise. * tests/parallel-tests-log-compiler-example.test: Likewise. * tests/Makefile.am (TESTS): Update.
* | Merge branch 'maint'Stefano Lattarini2010-09-171-7/+9
|\ \ | |/
| * Fixlets for HACKING.Stefano Lattarini2010-09-161-7/+7
| | | | | | | | | | | | | | | | * HACKING (Administrivia): Fixed typo `NES' for `NEWS'. (Naming): Do not refer to a convention dating back to Feb 2001 as "very new". Related rewording. (Working with Git): Now we require autoconf 2.67 for bootstrap, so use that version in the examples.
| * * HACKING: Hint at old commits with `git describe' output.Ralf Wildenhues2010-09-131-0/+2
| |
* | Merge branch 'maint'Ralf Wildenhues2010-08-211-5/+5
|\ \ | |/