aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-04-06Update Debian package version to 0.1-1.Carl Worth
To make a Debian package for the recent 0.1 release of notmuch.
2010-04-06configure: Ignore more options that debhelper expects.Carl Worth
These include: --infodir=DIR --localstatedir=DIR --libexecdir=DIR --disable-maintainer-mode --disable-dependency-tracking
2010-04-06configure: Add a --sysconfdir option.Carl Worth
Which means that the bash completion script will now install to ${prefix}/etc by default (unless configured with --syconfdir=/etc) which is probably the right thing to do.
2010-04-06configure: Add support for a --mandir optionCarl Worth
Again, nothing tricky here.
2010-04-06configure: Add support for a --includedir optionCarl Worth
Very similar to the existing --libdir option.
2010-04-06configure: Avoid printing '.' at the end of error message.Carl Worth
Since we're emitting the user's input back, let's leave it pristine and not confuse the issue by adding a final period.
2010-04-06configure: Add stub support for --build=<cpu>-<vendor>-<host> option.Carl Worth
I'm not sure that this option would actually be useful for anything, but debhelper at least expects our configure script to support it. So we'll accept it and ignore it.
2010-04-06packaging: Add a pointer to where the debian packaging really is.Carl Worth
Most anyone familiar with debian should know to look for the top-level debian directory, but since we do have a "packaging" directory, I thought it should at least mention the debian stuff rather than just containing the fedora spec file.
2010-04-06Merge branch 'debian' into rebuildCarl Worth
Conflicts: Makefile.local: The Makefiles were all recently re-written on master, but I did ensure that the changes from the debian branch were all implemented here, (in particular, installing the emacs files from "make install"). configure: I've reverted one change as part of this merge: commit 9f99a301b158dc1ed1c8c6754db1d57e3b0becf4 Remove ./configure failure for unrecognized options I'd much rather find what options the Debian scripts pass and either implement them or at least make the explicitly do nothing. One of the things that often annoyed me about gnu autoconf-generated configure scripts was the silent ignoring of unknown options, (which was very unhelpful in the case of mistyped options on the command line).
2010-04-06Move "config" test programs to "compat".Carl Worth
It makes sense to me to have the little tests for functionality right next to the comptability implementations of that same functionality. But also, this means I can now tab-complete ./configure from the three initial characters (rather than the seven required previously).
2010-04-06Makefile: Move the completion-specific commands to completion/Makefile.localCarl Worth
For much better modularity.
2010-04-06Rename the "contrib" directory to "completion".Carl Worth
The original "contrib" name is lousy. Everything in notmuch has been contributed, and we are integrating as much of it as possible, (rather than making users grub through contrib looking for useful pieces to install). Meanwhile, the only things we have in contrib are command-line completion scripts, so "completion" makes more sense as a name, (and helps make "./configure" slightly less ambiguous).
2010-04-06.gitignore: Ignore the releases directory.Carl Worth
The "make release" target creates this directory, but it's nothing I'll ever want to add to the git repository.
2010-04-06Makefile: Eliminate the separate install-bash and install-zsh targets.Carl Worth
Again, simplifying the interface to the Makefile. Installing these files doesn't require bash nor zsh to actually be installed, so there's little harm in just installing them unconditionally.
2010-04-06Makefile: Eliminate the "make install-emacs" target.Carl Worth
Instead, simply byte-compile the emacs source files as part of "make" and install them as part of "make install". The byte compilation is made conditional on the configure script finding the emacs binary. That way, "make; make install" will still work for someone that doesn't have emacs installed, (which was the only reason we had made a separate "make install-emacs" target in the first place).
2010-04-06Makefiles: Eliminate the useless quiet_* functions.Carl Worth
With the original quiet function, there's an actual purpose (hiding excessively long compiler command lines so that warnings and errors from the compiler can be seen). But with things like quiet_symlink there's nothing quieter. In fact "SYMLINK" is longer than "ln -sf". So all this is doing is hiding the actual command from the user for no real benefit. The only actual reason we implemented the quiet_* functions was to be able to neatly right-align the command name and left-align the arguments. Let's give up on that, and just left-align everything, simplifying the Makefiles considerably. Now, the only instances of a captialized command name in the output is if there's some actually shortening of the command itself.
2010-04-05make release: Add "what's new" and "what is notmuch" sections to announcementCarl Worth
For other projects I release, there's a bunch of manual effort in cosntructing the final release-announcement email. That's silly. So automate this by extracting the appropirate text from NEWS and by including a canned piece of the content from README.
2010-04-05Makefile: Print template for release announcement.Carl Worth
At the end of "make release" or at any point later with "make release-message".
2010-04-05Makefile: Make the "make release" target push the new tag.Carl Worth
Otherwise I'm sure I'll always forget to push it.
2010-04-05Merge commit '0.1'Carl Worth
This is a merge of the few changes I made to release 0.1 retroactively, (after having incremented the version to 0.1.1). Conflicts: Makefile.local (renamed NOTMUCH_VERSION to VERSION)
2010-04-05Makefile: Finish implementing the "make release" target.0.1Carl Worth
And hopefully it actually works.
2010-04-05Makefile: Start implementing a "make release" target.Carl Worth
So far just doing checks that the version is sane and that no release of the same version already exists.
2010-04-05NEWS: Add some (brief) news items for the initial 0.1 release.Carl Worth
Generally, the NEWS items will describe changes since the previous release. But there's not much we can do for that since we've never had a release before.
2010-04-05RELEASING: Add this file describing the steps to make a release.Carl Worth
These steps might be changing a bit as we work on making the initial 0.1 release.
2010-04-05Increment version to 0.1.1Carl Worth
After publishing the first notmuch release (0.1) to http://notmuchmail.org/releases .
2010-04-05Makefile: Add a dist target.Carl Worth
To create a versioned tar file for release.
2010-04-05Makfiles: Make the top-level targets PHONYCarl Worth
Just to avoid any clash with files of the same names.
2010-04-05notmuch-query.el: new file to support access to the notmuch database.David Bremner
Initially this file provides one main function notmuch-query-get-threads, which takes a set of search terms, and returns a parsed set of matching threads as a lisp data structure. A set of notmuch-query-map-* functions are provided to help map functions over the data structure. The function notmuch-query-get-message-ids uses this machinery to get the set of message-ids matching a query. Edited-by: Carl Worth <cworth@cworth.org>: Change comment syntax, (";;" rather than ";" to make emacs-lisp mode happy), and eliminate some excess whitespace, as suggested by David Edmonson.
2010-04-05notmuch: Correctly terminate text/* parts in JSON outputDavid Edmondson
Text parts returned by `g_mime_stream_mem_get_byte_array()' are not NULL terminated strings - add `json_quote_chararray()' to handle them correctly.
2010-04-05git: Ignore `notmuch-shared'David Edmondson
2010-04-05emacs: Move notmuch-show functionality to notmuch-show.elDavid Edmondson
To ease the transition to a JSON based implementation of `notmuch-show', move the current implementation into a separate file. Create `notmuch-lib.el' to hold common variables.
2010-04-05find_library does not read LD_LIBRARY_PATH, but CDLL does.Cedric Cabessa
2010-04-03TODO: Add notes on removing "notmuch part" and "notmuch search-tags".Carl Worth
Both of these ideas were recently discussed on the mailing list.
2010-04-03emacs: Fix "free variable" warning for notmuch-folder-show-empty.Carl Worth
Emacs really wants us to defvar each variable before assigning to it, (which gives us a place to document the variable as well).
2010-04-03emacs/notmuch.el: Improve tag highlighting in search modeDavid Edmondson
Assume that tags never include an opening bracket, and hence improve the regular expression used to highlight them. This avoids false matches where the 'from' address of a thread participant includes an opening bracket.
2010-04-03Makefile.local: Automatically use makefile modeDavid Edmondson
We add a magic line to the beginning of each Makefile.local file to help the editor know that it should use makefile mode for editing the file, (even though the filename isn't exactly "Makefile"). Edited-by: Carl Worth <cworth@cworth.org>: Expand treatment from emacs/Makefile.local to each instance of Makefile.local.
2010-04-03Makefile: Add the emacs directory to load-path when compilingDavid Edmondson
Reviewed-by: Carl Worth <cworth@cworth.org>: Presumably, this is to enable proper building in the very near-term future where the emacs implementation consists of multiple files where some will `require' functions from others.
2010-04-02Merge remote branch 'dme/dme-for-cworth'Carl Worth
Conflicts: notmuch.c (Simply the change in documentation indentation level).
2010-04-02Makefile: Only print the "make install" hint after the first build.Carl Worth
It was getting quite annoying to see this big block of text on every little build, (but I didn't want to get rid of it for any new users). This seems to strike the right balance.
2010-04-02notmuch help: Eliminate a gratuitous level of indentation.Carl Worth
I don't really know why we ended up having everything indented by two tabs, (perhaps trying to make it match the man page)? But wihout any containing context to justify that it just looks odd.
2010-04-02notmuch help: Simplify output by omitting arguments for each command.Carl Worth
The output was far too busy otherwise. It's more useful to just show the argument list in the case of "notmuch help <command>" for a specific command. (Credit due to running "git help" and seeing a much more readable list than what was coming out of "notmuch help".)
2010-04-02notmuch: Add a version (0.1 initially) with a new --version option.Carl Worth
We're planning to do actual releases soon, so we need a version number to put into the tar file.
2010-04-02notmuch: Add support for a --help option.Carl Worth
Previously, only "notmuch help" worked while a call to "notmuch --help" would just print a message telling the user to call "notmuch help". Instead of the redirection, just support --help directly now.
2010-04-02notmuch: Add a 'part' subcommandDavid Edmondson
A new 'part' subcommand allows the user to extract a single part from a MIME message. Usage: notmuch part --part=<n> <search terms> The search terms must match only a single message (e.g. id:foo@bar.com). The part number specified refers to the part identifiers output by `notmuch show'. The content of the part is written the stdout with no formatting or identification marks. It is not JSON formatted.
2010-04-02notmuch-show: Add unix and relative dates to the JSON outputDavid Edmondson
Include a 'date_unix' and 'date_relative' field in the JSON output for each message. 'date_relative' can be used by a UI implementation, whereas 'date_unix' is useful when scripting.
2010-04-01Compile a static notmuch binary (but only install the shared version)Carl Worth
The idea here is to allow a new user of notmuch to be able to run notmuch immediately after compiling, (without having to install the shared library first). This also ensures that the test suite tests the locally compiled library, and not whatever installled version of the library the dynamic linker happens to find.
2010-04-01Setup the GMimeStream only when needednstraz@redhat.com
I ran into this while looking at the vim plugin. Vim's system() call redirects output to a file and it was missing many of the part{ lines. If stream_stdout is setup too early, it will overwrite the part start when notmuch is redirected to a file. Reviewed-by Carl Worth <cworth@cworth.org>: GMime is calling fseek before every write to reset the FILE* to the position it believes is correct based on the writes it has seen. Our code was getting incorrect results because our GMime writes were interleaved with non-GMime writes via printf. The bug appears when writing to a file because it's seekable, but not when writing to a pipe which is not.
2010-04-01Makefile: Create include directory when installing headersMichal Sojka
When I wanted to create a debian package from the current master, make install failed because of non-existent include directory. This patch fixes this minor issue.
2010-04-01lib: Switch to a 3-part version number for the library interface.Carl Worth
With a carefully documented description of how to increment the various version components.
2010-04-01Makefiles: Align the columns of output.Carl Worth
Much better.