diff --git a/devtodo/devtodo.patch b/devtodo/devtodo.patch
new file mode 100644
index 0000000000..233eb96fd3
--- /dev/null
+++ b/devtodo/devtodo.patch
@@ -0,0 +1,11 @@
+--- src/TodoDB.cc.orig Sun May 26 20:45:27 2002
++++ src/TodoDB.cc Sun Jun 9 11:54:38 2002
+@@ -450,7 +450,7 @@
+ This function allows for tab completion of priority levels as well
+ as the levels being in the command history.
+ */
+-Todo::Priority TodoDB::getPriority(string current = "")
++Todo::Priority TodoDB::getPriority(string current)
+ {
+ char *pri[] = {
+ "veryhigh",
diff --git a/devtodo/devtodo.spec b/devtodo/devtodo.spec
new file mode 100644
index 0000000000..0f2d468815
--- /dev/null
+++ b/devtodo/devtodo.spec
@@ -0,0 +1,87 @@
+##
+## devtodo.spec -- OpenPKG RPM Specification
+## Copyright (c) 2000-2002 Cable & Wireless Deutschland GmbH
+## Copyright (c) 2000-2002 The OpenPKG Project
+## Copyright (c) 2000-2002 Ralf S. Engelschall
+##
+## Permission to use, copy, modify, and distribute this software for
+## any purpose with or without fee is hereby granted, provided that
+## the above copyright notice and this permission notice appear in all
+## copies.
+##
+## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+## SUCH DAMAGE.
+##
+
+# package information
+Name: devtodo
+Summary: ToDo List Manager
+URL: http://devtodo.sourceforge.net/
+Vendor: Alec Thomas
+Packager: The OpenPKG Project
+Distribution: OpenPKG [EXP]
+Group: Text
+License: GPL
+Version: 0.1.13
+Release: 20020609
+
+# list of sources
+Source0: http://devtodo.sourceforge.net/?%{version}/devtodo-%{version}.tar.gz
+Source1: todo.bashrc
+Patch0: devtodo.patch
+
+# build information
+Prefix: %{l_prefix}
+BuildRoot: %{l_buildroot}
+BuildPreReq: OpenPKG, openpkg >= 20020206, make, gcc, readline, ncurses
+PreReq: OpenPKG, openpkg >= 20020206
+AutoReq: no
+AutoReqProv: no
+
+%description
+ Developer Todo is a program to display and manage a hierarchical
+ list of outstanding work, or just reminders.
+
+%prep
+ %setup -q
+ %patch -p0
+
+%build
+ CC="%{l_cc}" \
+ CXX="%{l_cxx}" \
+ CFLAGS="%{l_cflags -O} -I%{l_prefix}/include" \
+ CXXFLAGS="%{l_cflags -O} -I%{l_prefix}/include -Wno-deprecated" \
+ LDFLAGS="-L%{l_prefix}/include" \
+ ./configure \
+ --prefix=%{l_prefix} \
+ --sysconfdir=%{l_prefix}/etc/devtodo
+ %{l_make} %{l_mflags -O}
+
+%install
+ rm -rf $RPM_BUILD_ROOT
+ %{l_shtool} subst -e 's;gzip;true;g' -e 's;\.gz;;g' doc/Makefile
+ %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
+ %{l_shtool} install -c -m 644 \
+ contrib/todo2html.xslt $RPM_BUILD_ROOT%{l_prefix}/etc/devtodo/
+ %{l_shtool} install -c -m 644 \
+ contrib/todo2pdf.xslt $RPM_BUILD_ROOT%{l_prefix}/etc/devtodo/
+ %{l_shtool} install -c -m 644 \
+ %{SOURCE todo.bashrc} $RPM_BUILD_ROOT%{l_prefix}/etc/devtodo/
+ strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
+ %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
+
+%files -f files
+
+%clean
+ rm -rf $RPM_BUILD_ROOT
+
diff --git a/devtodo/todo.bashrc b/devtodo/todo.bashrc
new file mode 100644
index 0000000000..9228fa90c3
--- /dev/null
+++ b/devtodo/todo.bashrc
@@ -0,0 +1,19 @@
+
+cd () {
+ { builtin cd "$@" EXIT=$? } &&
+ [ -f .todo ] && devtodo --timeout --summary
+ ( exit $EXIT )
+}
+
+pushd () {
+ { builtin pushd "$@" EXIT=$? } &&
+ [ -f .todo ] && devtodo --timeout --summary
+ ( exit $EXIT )
+}
+
+popd () {
+ { builtin popd EXIT=$? } &&
+ [ -f .todo ] && devtodo --timeout --summary
+ ( exit $EXIT )
+}
+