Re: Auto-Generating ChangeLog and AUTHORS for projects in a version tracking system?

2014-10-30 Thread Arne Babenhauserheide (IMK)
Am 30.10.2014 10:15, schrieb Diego Elio Pettenò:
> On 30 October 2014 06:45, Arne Babenhauserheide (IMK)
>  wrote:
>> Am 30.10.2014 00:43, schrieb Diego Elio Pettenò:
>> I don’t want to change the GNU style. I want to have an easier way to
>> *adhere to* the existing GNU style by providing default tool support for
>> creating the ChangeLog and AUTHORS file from versiontracking systems.
> 
> Great. But people don't *want* to adhere to the GNU style, 

Do not want to adhere to the GNU style or do they not want to bother
with creating the files? There is a very important difference in
motivation: People from the first group get what they want with foreign
style. People from the latter group however would be happy to use GNU
style, if it did not create additional work for them.

This change is for the latter group, since the former group can already
switch to foreign style by just adding a single parameter.

> most people
> just end up creating 0-sized AUTHORS NEWS and ChangeLog files, because
> otherwise automake fails, and then they complain about autotools being
> messy and requiring useless boilerplate.

Autogenerating the AUTHORS and ChangeLog would reduce this to a single
0-sized file, because nowadays most people understand that a README is
important -- I think the same will happen for the NEWS file, once code
hosting platforms start using the NEWS file as source to provide
human-readable news about projects. Then this would eliminate the
0-sized files.

Best wishes,
Arne

PS: I know your autotools mythbuster: It helped me a lot in adding
distcheck-support for my projects. Example:
https://bitbucket.org/ArneBab/wisp/src/6cf3f78205bec638f9eb8aba7344946e70bfd0e1/Makefile.am
Sadly much of my own autotools work also involved cargo-culting.
Note: Here you note that autotools need COPYING,
  but this is created automatically nowadays.
  You only need to provide it if you don’t want to use the GPL.
  - https://autotools.io/automake/options.html
-- 
Doktorand
Gruppe: GHG

Raum: 435/410
Tel.: +49 721 608-22885
arne.babenhauserhe...@kit.edu

Karlsruher Institut für Technologie
IMK-ASF
Postfach 36 40
76021 Karlsruhe


0xA70DA09E.asc
Description: application/pgp-keys
<>

signature.asc
Description: OpenPGP digital signature


Re: Auto-Generating ChangeLog and AUTHORS for projects in a version tracking system?

2014-10-29 Thread Arne Babenhauserheide (IMK)
Hi Flameeyes,


Am 30.10.2014 00:43, schrieb Diego Elio Pettenò:
> All good and well, but then I may have misunderstood Arne's original
> point. If he's trying to get the GNU style to be "good enough"

That means I did not make my point clear enough. Second try:


I don’t want to change the GNU style. I want to have an easier way to
*adhere to* the existing GNU style by providing default tool support for
creating the ChangeLog and AUTHORS file from versiontracking systems.

Having NEWS, README, ChangeLog and AUTHORS in a release tarball makes a
lot of sense, and having NEWS and README also makes a lot of sense in a
version tracking system (I see that every time I try to use a project
which does not have them).

It’s just that when using a version tracking system, the ChangeLog and
AUTHORS file mostly duplicate information which is already in the
version tracking system.

This isn’t true for all projects. With complicated history a generated
ChangeLog can become useless and when committing patches from others and
forgetting to change the user, an autogenerated AUTHORS file can simply
be wrong. But for most projects they should be valid.


Additional motivation for this: If I want to teach someone to switch
from a simple Makefile to autotools, I have to talk about

- configure.ac (this is mostly copy-paste, adjusting name and version)
- Makefile.am (copy-paste from a similar project or adapt a Makefile)

- autoreconf -i; ./configure; make (“copy this into the README”)
- NEWS (“put the newest version at the top”)
- README (“describe how to use the project and how to contribute”)

- AUTHORS (“name all people who contributed”)
- ChangeLog (describe the changes in GNU style. This means:
  - first line: date and author:
https://www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html
  - changes indented.
- Start each changed file with a star (* file).
- optionally name the function.
- (a few special cases).
- Description after a colon and in following lines, also indented.
  - empty line between independent changes?


As you can see, how to write a conforming ChangeLog takes roughly as
much explanation as writing the configure.ac. And every new contributor
will have to learn how to do that (while the other topics are only
needed for the initial setup or for the maintainer).


Best wishes,
Arne

PS: I consider make distcheck as the gold standard for distributing
projects. I did not yet find a tool which gets close to matching that.
-- 
Doktorand
Gruppe: GHG

Raum: 435/410
Tel.: +49 721 608-22885
arne.babenhauserhe...@kit.edu

Karlsruher Institut für Technologie
IMK-ASF
Postfach 36 40
76021 Karlsruhe


0xA70DA09E.asc
Description: application/pgp-keys
<>

signature.asc
Description: OpenPGP digital signature


Auto-Generating ChangeLog and AUTHORS for projects in a version tracking system?

2014-10-29 Thread Arne Babenhauserheide (IMK)
Dear GNU Hackers,


In quite a few guides I saw people suggest using the foreign automake
style to avoid having to create the required text files.

The goal of this email is to get more people to use the GNU style, so
the interface for understanding an autotools project becomes more
consistent again: GNU style should become standard for all guides.


Among the required files, NEWS is easy to create but cannot be guessed
automatically because it is intended for humans, and README is becoming
standard (again) due to most code hosting sites using it as the summary
page. AUTHORS and ChangeLog normally only contain information which
already available in most version tracking systems - and can be created
easily from that.

If autotools did this automatically, the barrier for using GNU style in
the autotools with a version tracking system would be much smaller: Just
write README and NEWS.


I initially planned to just send a small example script, but that
matured faster than I had expected, so you can now find it at


https://bitbucket.org/ArneBab/autochangelog/src/tip/create-or-update-changelog-and-authors.sh

If someone with git-foo could cleanup the git ChangeLog creation to
conform with the GNU ChangeLog standard, that script should be a good
working example.

The script only touches files which were created by the script or are
missing.


Best wishes,
Arne

PS: I initially sent this mail to the autoconf list. The original
discussion is at [1] and includes the gnulib script which roughly does
for git what I propose here. Doing this in automake would have the
advantage that all users benefit from the lower barrier of entry to the
consistent GNU style.

[1]: http://lists.gnu.org/archive/html/autoconf/2014-10/msg0.html

-- 
Doktorand
Gruppe: GHG

Raum: 435/410
Tel.: +49 721 608-22885
arne.babenhauserhe...@kit.edu

Karlsruher Institut für Technologie
IMK-ASF
Postfach 36 40
76021 Karlsruhe





0xA70DA09E.asc
Description: application/pgp-keys


0xA70DA09E.asc
Description: application/pgp-keys
<>

signature.asc
Description: OpenPGP digital signature


how to silence make distcheck?

2014-07-15 Thread Arne Babenhauserheide (IMK)
Hi,

I’m using silent rules with automake and I can silence make check by using


autoreconf -i
./configure --quiet
make check --quiet


But when I run make distcheck --quiet, I get the full configure output
and $(AM_V_P) seems to not be set in the Makefile.


autoreconf -i
make distcheck --quiet


Can I silence this?


Best wishes,
Arne
-- 
Doktorand
Gruppe: GHG

Raum: 435/410
Tel.: +49 721 608-22885
arne.babenhauserhe...@kit.edu

Karlsruher Institut für Technologie
IMK-ASF
Postfach 36 40
76021 Karlsruhe


0xA70DA09E.asc
Description: application/pgp-keys
<>

signature.asc
Description: OpenPGP digital signature


Re: Managing Emacs org-mode projects with automake - how to make this easier?

2013-10-25 Thread Arne Babenhauserheide (IMK)
Am 24.10.2013 20:45, schrieb Gavin Smith:
> From your link:
>> I use pyxplot for generating some plots. Pyxplot does not have a way (I know 
>> of) to search for datafiles in a different folder. I have to copy the files 
>> to the build dir and kill them after the build. But only if I use a separate 
>> build dir.
> 
> If I understand rightly, you are having a problem with VPATH builds?
> Is there no way to get your tools (emacs and pyxplot) to read from
> files in the source directory but output in the current directory?

For pyxplot I did not find a way to make it read from different paths
depending on whether I run `make distcheck` or just `make`. The paths
for the datafiles are encoded within the scriptfile.

For emacs I use org-mode to export, and that exports to where the file
is. I might be able to change that by using the publish-mechanism, but
I’m not sure about that. Stackoverflow suggests something, though:
http://stackoverflow.com/questions/9559753/emacs-org-mode-export-to-another-directory

#+bind: org-export-publishing-directory "./exports"

* This is a test headline
Some text here.  This should be exported to the "./exports" directory.

I might be able to do that for the more important part (emacs) with an
additional --eval.

I’m asking at emacs-orgm...@gnu.org.

Best wishes,
Arne
-- 
Doktorand
Gruppe: GHG

Raum: 435/410
Tel.: +49 721 608-22885
arne.babenhauserhe...@kit.edu

Karlsruher Institut für Technologie
IMK-ASF
Postfach 36 40
76021 Karlsruhe


0xA70DA09E.asc
Description: application/pgp-keys
<>

signature.asc
Description: OpenPGP digital signature


Managing Emacs org-mode projects with automake - how to make this easier?

2013-10-22 Thread Arne Babenhauserheide (IMK)
Dear Automake hackers,

I am using autotools to build org-mode projects and prepare them for
publication.

The nice part is that `make distcheck` does the hard work of checking
whether all the required parts are in the distribution.

The not so nice part is, though, that the Makefile.am looks quite messy.
Very messy in fact:


$ cat Makefile.am

vortrag = vortrag.pdf
vortrag_DATA = vortrag.org data.txt dist-tarball.png
vortragdir = .

EXTRA_DIST = ${vortrag_DATA} ${vortrag}
MOSTLYCLEANFILES = \\\#* *~ *.bak *.vrb *.bbl *.blg *_flymake.* #
kill editor backups and latex stuff
CLEANFILES = ${vortrag}
DISTCLEANFILES = ${CLEANFILES} \\\#* *~ *.bak *.vrb *.bbl *.blg
*_flymake.* auto/*el

all : ${vortrag}

${vortrag} : ${vortrag_DATA}
if test "$<" != "$(notdir $<)"; then cp -u "$<" "$(notdir $<)"; fi
echo yes | @emacs@ --batch --load "~/.emacs" --visit "$(notdir $<)"
--funcall org-beamer-export-to-pdf
if test "$<" != "$(notdir $<)"; then rm -f "$(notdir $<)"; rm -f
$(basename $(notdir $<)).tex $(basename $(notdir $<)).tex~
auto/$(basename $(notdir $<)).el; else rm -f $(basename $<).tex
$(basename $<).tex~ auto/$(basename $<).el; fi



Most of this is required to make distcheck happy.

Is there a way to make this cleaner?

Best wishes,
Arne

PS: I documented my usage of autotools on
http://draketo.de/light/english/free-software/makefile-to-autotools
-- 
Doktorand
Gruppe: GHG

Raum: 435/410
Tel.: +49 721 608-22885
arne.babenhauserhe...@kit.edu

Karlsruher Institut für Technologie
IMK-ASF
Postfach 36 40
76021 Karlsruhe


0xA70DA09E.asc
Description: application/pgp-keys
<>

signature.asc
Description: OpenPGP digital signature