summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick White <arch@njw.me.uk>2007-05-03 00:31:22 +0000
committerNick White <arch@njw.me.uk>2007-05-03 00:31:22 +0000
commitf811c2d4823f95d7e90f25e0e7a98e5c5abcf3e2 (patch)
tree190283d4cf1efdd3ae5ba8ecaa0b6c5b5837bec9
parent1edf37e3b0ad7b0556ba0902b5880044933ced66 (diff)
Added Autotools, changed dir structure, added docs
Added (perhaps somewhat shaky) autotools support Added tagging rules to junkify files generated by autotools Added a directory structure Updated README & INSTALL files to reflect changes Wrote a man page Changed version numbers in preparation for a release git-archimport-id: getht@sv.gnu.org/getht--mainline--0.1--patch-23
-rw-r--r--AUTHORS (renamed from AUTHOR)0
-rw-r--r--INSTALL41
-rw-r--r--Makefile37
-rw-r--r--Makefile.am13
-rw-r--r--NEWS0
-rw-r--r--README51
-rw-r--r--configure.in47
-rw-r--r--doc/Makefile.am2
-rw-r--r--doc/getht.man167
-rw-r--r--src/Makefile.am7
-rw-r--r--src/config.c (renamed from config.c)0
-rw-r--r--src/download.c (renamed from download.c)0
-rw-r--r--src/getht.c (renamed from getht.c)2
-rw-r--r--src/getht.h (renamed from getht.h)0
-rw-r--r--src/issue.h (renamed from issue.h)0
-rw-r--r--src/issuemem.c (renamed from issuemem.c)0
-rw-r--r--src/mediarev.c (renamed from mediarev.c)0
-rw-r--r--src/mediaxml.c (renamed from mediaxml.c)0
-rw-r--r--src/tocxml.c (renamed from tocxml.c)0
-rw-r--r--src/version.h (renamed from version.h)2
-rw-r--r--src/xml.c (renamed from xml.c)0
21 files changed, 290 insertions, 79 deletions
diff --git a/AUTHOR b/AUTHORS
index a476016..a476016 100644
--- a/AUTHOR
+++ b/AUTHORS
diff --git a/INSTALL b/INSTALL
index 1167673..12a7728 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,21 +1,32 @@
-At the moment this project uses a custom (but very basic) makefile
-to make and install. This will soon be changed to autotools, but at
-present this way works well enough.
+To install this package, simply follow the following steps:
-For a default install all that is needed is the following:
+1. Decompress & untar the archive
+ $ tar -xjf getht-<version>.tar.bz2
-1. Decompress/archive the project file:
- tar -xzf getht-<version>.tar.gz
-or
- tar -xyf getht-<version>.tar.bz2
+2. Change to the source directory
+ $ cd getht-<version>
-2. Change to hdte directory:
- cd getht-<version>
+4. Prepare the software for your system
+ $ ./configure
-3. Run make to compile the source:
- make
+ Note that there are several options which can be applied
+ here, such as prefix and locations of libraries.
+ For more information run:
+ $ ./configure --help
-4. Use make again to install it (you'll need to have root privilages):
- make install
+4. Build the software
+ $ make
-For further build options, see the output of "make help"
+5. Install the software (ensure that you have superuser
+ privilages if installing outside of your home directory)
+ $ make install
+
+
+You can then run the package by typing the following
+command into a terminal:
+$ getht
+
+Note that the AutoTools scripts to build and install GetHT are
+quite simple, and have not been thoroughly tested.
+If you encounter any problems building please let me know, using
+one of the methods suggested in the README file.
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 34a02db..0000000
--- a/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-PREFIX=/usr
-DOCS=AUTHOR COPYING CREDITS ChangeLog INSTALL README TODO
-CFLAGS+=-g `curl-config --cflags` `xml2-config --cflags`
-LDFLAGS+=`curl-config --libs` `xml2-config --libs`
-
-all: getht
-
-getht: download.o config.o issuemem.o tocxml.o mediarev.o mediaxml.o xml.o
-
-tocxml.o mediaxml.o: xml.o
-
-static:
- CFLAGS="$(CFLAGS) -s -static"
- @echo "Not implemented yet, sorry."
-
-clean:
- rm -rf *.o
-
-install:
- cp getht $(PREFIX)/bin
- mkdir -p $(PREFIX)/doc/getht
- cp $(DOCS) $(PREFIX)/doc/getht
-
-uninstall:
- rm $(PREFIX)/bin/getht
- rm -r $(PREFIX)/doc/getht
-
-help:
- @echo -e "Make targets:"
- @echo -e "make (all)\tBuilds GetHT with default settings"
- @echo -e "make install\tInstalls GetHT"
- @echo -e "make uninstall\tRemoves GetHT"
- @echo -e "make clean\tRemoves all object files"
- @echo -e "make static\tBuilds a statically linked GetHT binary"
- @echo -e "make help\tPrint this help message"
-
-.PHONY: all clean install uninstall help
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..8f2b81f
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,13 @@
+## A simple file to process with Automake, to produce Makefile.in
+
+SUBDIRS = src doc
+
+doc_DATA = \
+ AUTHORS \
+ BUGS \
+ ChangeLog \
+ COPYING \
+ CREDITS \
+ INSTALL \
+ NEWS \
+ README
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/NEWS
diff --git a/README b/README
index 0097953..8f294b2 100644
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
-GetHT - The Free Hinduism Today Digital Edition Fetcher
+GetHT - The Free Hinduism Today Digital Edition Downloader
-Summary:
+-Summary
The nice people at Hinduism Today have recently begun freely distributing
their magazine in pdf format, so that anybody may read a copy for free.
@@ -13,36 +13,37 @@ unable to download the new issues.
This program is written to change all that.
-License:
-htde is released under the GPL, see the file COPYING for details.
+-License
+GetHT is released under the GPL, see the file COPYING for details.
Basically this means that you are free to study the program, modify it,
and redistribute it however you see fit, provided you extend the same
freedom to others by releasing derivatives with the same license.
-Proxy Support:
+-Dependancies
+libxml2 2.0.0+ Compiled with zlib support
+libcurl 7.7.2+
+
+-Install
+For details on how to install GetHT see the INSTALL file.
+
+-Proxy Support
GetHT supports HTTP, SOCKS4 & SOCKS5 proxys (though they haven't been
thoroughly tested - let me know if there are any problems).
Environmental variables (e.g. http_proxy) are used, but may be overridden
with the following lines in the config.ini file. Any lines which are not
needed (for example the authentication lines) should just be omitted.
The format of the options is:
-proxy_type <type_of_proxy> (http, socks4 or socks5)
-proxy_address <address>
-proxy_port <port>
-proxy_auth <proxy_auth_method> (none, basic, digest or ntlm)
-proxy_user <proxy_username>
-proxy_pass <proxy_password>
-
-Dependancies:
-libxml2 To parse the contents and media files; ensure to compile
- with zlib support
-libcurl 7.7.2+ To download the necessary issues and periphery
-Unless compiled with "make nogui":
-fltk 2.0+ To draw and control the windows
-
-Install:
-The project is too small to warrent autoconf or anything else complex,
-so simply use the makefile provided to compile and install the software
-from source.
-
-For more details see the included INSTALL file.
+ proxy_type <type_of_proxy> (http, socks4 or socks5)
+ proxy_address <address>
+ proxy_port <port>
+ proxy_auth <proxy_auth_method> (none, basic, digest or ntlm)
+ proxy_user <proxy_username>
+ proxy_pass <proxy_password>
+
+-Bugs / Problems
+This software is very new, so there will undoubtedly be some bugs lingering,
+or parts of the program which don't work as expected.
+If you encounter problems, there are several ways to get help:
+ Mailing List : http://lists.nongnu.org/mailman/listinfo/getht-general
+ Support Tracker : http://savannah.nongnu.org/support/?group=getht
+ Bug Tracker : http://savannah.nongnu.org/bugs/?group=getht
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..306a49b
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,47 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ(2.61)
+AC_INIT(getht, 0.0.1)
+AC_CONFIG_SRCDIR([src/])
+AC_CONFIG_AUX_DIR([config])
+AC_CONFIG_HEADER([config.h])
+AM_INIT_AUTOMAKE(AC_PACKAGE_NAME,AC_PACKAGE_VERSION)
+AC_LANG([C])
+
+# Checks for programs.
+AC_PROG_CC
+AC_PROG_INSTALL
+
+# Checks for libraries.
+
+dnl check for zlib
+CHECK_ZLIB()
+
+dnl check for libxml2
+AM_PATH_XML2([2.0.0])
+CFLAGS="$CFLAGS $XML_CPPFLAGS"
+LIBS="$LIBS $XML_LIBS"
+
+dnl check for libcurl
+LIBCURL_CHECK_CONFIG([yes], [7.7.2])
+CFLAGS="$CFLAGS $LIBCURL_CPPFLAGS"
+LIBS="$LIBS $LIBCURL"
+
+# Checks for header files.
+AC_HEADER_STDC
+AC_CHECK_HEADERS([stdlib.h string.h unistd.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_TYPE_SIZE_T
+
+# Checks for library functions.
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_CHECK_FUNCS([mkdir strdup])
+
+AC_CONFIG_FILES([Makefile
+ doc/Makefile
+ src/Makefile])
+AC_OUTPUT
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..5ab40eb
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,2 @@
+man1_MANS = getht.man
+##doc_DATA = *.txt
diff --git a/doc/getht.man b/doc/getht.man
new file mode 100644
index 0000000..3b6bfef
--- /dev/null
+++ b/doc/getht.man
@@ -0,0 +1,167 @@
+.\" Copyright 2007 Nick White
+.\"
+.\" This file is part of GetHT
+.\"
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program; if not, write to the Free Software
+.\" Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+.TH GETHT 1
+.SH NAME
+.B GetHT
+\- The Free Hinduism Today Digital Edition Downloader
+.SH SYNOPSIS
+.TP 5
+\fBgetht
+\fI[-uadmnfvh] [-t tocfile] [-m medtocfile]\fR
+
+.SH DESCRIPTION
+.PP
+.I GetHT
+is a program which downloads multimedia and pdf files
+from Hinduism Today. It has good proxy support, and
+is small, fast, and simple.
+
+.I GetHT
+is not endorsed by or affiliated with Hinduism Today.
+
+.SH OPTIONS
+.TP
+.B \-u, \-\-update
+Update the Hinduism Today contents files.
+.TP
+.B \-a, \-\-download-all
+Download all issues of Hinduism Today.
+.TP
+.B \-d, \-\-download-latest
+Download only the latest issue of Hinduism Today.
+.TP
+.B \-m, \-\-download-all-media
+Download all multimedia files distributed by Hinduism
+Today.
+.TP
+.B \-n, \-\-download-latest-media
+Download only the multimedia files from the latest
+issue of Hinduism Today.
+.TP
+.B \-f, \-\-force
+Force getht to download files, even if they have
+already been downloaded. This is useful if a download
+has been corrupted or interrupted.
+.TP
+.B \-t, \-\-tocfile tocfile
+Use a different contents file, as specified by tocfile.
+.TP
+.B \-x, \-\-mediatocfile mediatocfile
+Use a different media contents file, as specified by
+mediatocfile.
+.TP
+.B \-h, \-\-help
+Print a brief usage message.
+.TP
+.B \-v, \-\-version
+Display the version number.
+
+.SH CONFIGURATION FILE
+All of the settings for GetHT are stored in the
+configuration file, which normally resides in
+\fB~/.getht/config.ini\fR.
+
+The format of this file is very simple:
+\fB<option> = <setting>\fR
+with commented lines starting with a #
+
+The following options may be set.
+.TP
+.B issuepath
+Stores the path in which all issues and multimedia
+files will be saved. The default setting is
+\fB~/hinduism_today/\fR
+.TP
+.B startup_check
+Whether to automatically check for new issues each
+time the GetHT is executed. \fB1\fR = yes, \fB0\fR = no
+The default setting is \fB0\fR
+.TP
+.B proxy_type
+The type of proxy (if any) through which GetHT is to
+pass. GetHT currently supports the following options:
+\fBhttp\fR, \fBsocks4\fR, and \fBsocks5\fR.
+To not use any proxy, simply leave out this line.
+.TP
+.B proxy_address
+The url of the proxy to connect through.
+.TP
+.B proxy_port
+The port of the proxy to connect to.
+.TP
+.B proxy_auth
+The method of authentication (if any) with the proxy.
+GetHT currently supports the following options:
+\fBbadic\fR, \fBdigest\fR, and \fBntlm\fR.
+If you don't need proxy authentication, leave out this
+line.
+.TP
+.B proxy_user
+The username with which to connect to the proxy server.
+.TP
+.B proxy_pass
+The password with which to connect to to proxy server.
+
+.SH FILES
+.TP
+.B ~/getht/config.ini
+configuration file.
+
+.SH BUGS
+.I GetHT
+is very new, so there will undoubtedly be some bugs
+around, or parts of the program which don't work as
+expected.
+
+If you encounter problems, there are several ways to
+get help:
+.TP
+.B Mailing List
+.I http://lists.nongnu.org/mailman/listinfo/getht-general
+.TP
+.B Support Tracker
+.I http://savannah.nongnu.org/support/?group=getht
+.TP
+.B Bug Tracker
+.I http://savannah.nongnu.org/bugs/?group=getht
+
+.SH LICENSE
+Copyright 2007 Nick White
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+.SH AUTHOR
+GetHT is at present primarily the work of Nick White, see the AUTHORS
+file for full credits and contact details.
diff --git a/src/Makefile.am b/src/Makefile.am
new file mode 100644
index 0000000..0bf3452
--- /dev/null
+++ b/src/Makefile.am
@@ -0,0 +1,7 @@
+## A simple file to process with Automake, to produce Makefile.in
+
+bin_PROGRAMS = getht
+
+getht_SOURCES = config.c download.c getht.c issuemem.c \
+ mediarev.c mediaxml.c tocxml.c xml.c \
+ getht.h issue.h version.h
diff --git a/config.c b/src/config.c
index 57807b1..57807b1 100644
--- a/config.c
+++ b/src/config.c
diff --git a/download.c b/src/download.c
index 1108b6d..1108b6d 100644
--- a/download.c
+++ b/src/download.c
diff --git a/getht.c b/src/getht.c
index 34fde2f..5d2c39c 100644
--- a/getht.c
+++ b/src/getht.c
@@ -56,7 +56,7 @@ int main(int argc, char *argv[])
if(!opendir(getht_path))
if(mkdir(getht_path, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH))
{
- fprintf(stderr,"Cannot open/create directory %s",getht_path);
+ fprintf(stderr,"Cannot open/create directory %s\n",getht_path);
printf("Please enter the path of a directory to save settings in: ");
scanf("%s", getht_path);
}
diff --git a/getht.h b/src/getht.h
index df2b1b2..df2b1b2 100644
--- a/getht.h
+++ b/src/getht.h
diff --git a/issue.h b/src/issue.h
index d224dcf..d224dcf 100644
--- a/issue.h
+++ b/src/issue.h
diff --git a/issuemem.c b/src/issuemem.c
index 3a40d7e..3a40d7e 100644
--- a/issuemem.c
+++ b/src/issuemem.c
diff --git a/mediarev.c b/src/mediarev.c
index e8dd3e6..e8dd3e6 100644
--- a/mediarev.c
+++ b/src/mediarev.c
diff --git a/mediaxml.c b/src/mediaxml.c
index bcb2da1..bcb2da1 100644
--- a/mediaxml.c
+++ b/src/mediaxml.c
diff --git a/tocxml.c b/src/tocxml.c
index 3740326..3740326 100644
--- a/tocxml.c
+++ b/src/tocxml.c
diff --git a/version.h b/src/version.h
index 20383e4..0713569 100644
--- a/version.h
+++ b/src/version.h
@@ -19,4 +19,4 @@
*
*/
-#define VERSION "pre-release"
+#define VERSION "0.0.1"
diff --git a/xml.c b/src/xml.c
index 1a3ea3c..1a3ea3c 100644
--- a/xml.c
+++ b/src/xml.c