diff --git a/Makefile b/Makefile index fc6f7627..3c2b41ec 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,17 @@ # This Makefile is only used by developers. PYVER:=2.7 PYTHON?=python$(PYVER) -APPNAME:=$(shell $(PYTHON) setup.py --name) -LAPPNAME:=$(shell echo $(APPNAME)|tr "[A-Z]" "[a-z]") VERSION:=$(shell $(PYTHON) setup.py --version) PLATFORM:=$(shell $(PYTHON) -c "from distutils.util import get_platform; print get_platform()") +APPNAME:=$(shell $(PYTHON) setup.py --name) +LAPPNAME:=$(shell echo $(APPNAME)|tr "[A-Z]" "[a-z]") +ARCHIVE_SOURCE:=$(APPNAME)-$(VERSION).tar.xz +ARCHIVE_WIN32:=$(APPNAME)-$(VERSION).exe +GITUSER:=wummel +GITREPO:=$(LAPPNAME) +HOMEPAGE:=$(HOME)/public_html/$(LAPPNAME).git +DEBUILDDIR:=$(HOME)/projects/debian/official +DEBORIGFILE:=$(DEBUILDDIR)/$(LAPPNAME)_$(VERSION).orig.tar.xz FILESCHECK_URL:=http://localhost/~calvin/ SRCDIR:=${HOME}/src PY_FILES_DIRS:=linkcheck tests *.py linkchecker linkchecker-nagios linkchecker-gui cgi-bin config doc @@ -12,9 +19,6 @@ TESTS ?= tests # set test options, eg. to "--verbose" TESTOPTS= PAGER ?= less -# build dir for debian package -BUILDDIR:=$(HOME)/projects/debian/official -DEB_ORIG_TARGET:=$(BUILDDIR)/linkchecker_$(VERSION).orig.tar.xz # original dnspython repository module DNSPYTHON:=$(HOME)/src/dnspython-git # options to run the pep8 utility @@ -31,6 +35,7 @@ endif # Pytest options: # - use multiple processors # - write test results in file +# - log test durations PYTESTOPTS:=-n $(NUMPROCESSORS) --resultlog=testresults.txt --durations=0 @@ -46,7 +51,7 @@ clean: rm -f linkcheck/network/_network*.so find . -name '*.py[co]' -exec rm -f {} \; -distclean: clean cleandeb +distclean: clean rm -rf build dist $(APPNAME).egg-info rm -f _$(APPNAME)_configdata.py MANIFEST Packages.gz # clean aborted dist builds and -out files @@ -55,11 +60,6 @@ distclean: clean cleandeb rm -rf $(APPNAME)-$(VERSION) rm -rf coverage dist-stamp python-build-stamp* -cleandeb: - rm -rf debian/$(LAPPNAME) debian/tmp - rm -f debian/*.debhelper debian/{files,substvars} - rm -f configure-stamp build-stamp - MANIFEST: MANIFEST.in setup.py $(PYTHON) setup.py sdist --manifest-only @@ -74,34 +74,44 @@ localbuild: MANIFEST locale cp -f build/lib.$(PLATFORM)-$(PYVER)*/linkcheck/HtmlParser/htmlsax*.so linkcheck/HtmlParser cp -f build/lib.$(PLATFORM)-$(PYVER)*/linkcheck/network/_network*.so linkcheck/network -deb_orig: - if [ ! -e $(DEB_ORIG_TARGET) ]; then \ - cp dist/$(APPNAME)-$(VERSION).tar.xz $(DEB_ORIG_TARGET); \ - fi +release: distclean releasecheck filescheck + $(MAKE) dist sign upload homepage tag register deb -release: distclean releasecheck filescheck clean dist-stamp sign_distfiles upload - git tag v$(VERSION) - $(MAKE) homepage - $(MAKE) register - $(MAKE) announce +tag: + git tag upstream/$(VERSION) + git push --tags origin upstream/$(VERSION) + +upload: + github-upload $(GITUSER) $(GITREPO) \ + dist/$(ARCHIVE_SOURCE) dist/$(ARCHIVE_WIN32) \ + dist/$(ARCHIVE_SOURCE).asc dist/$(ARCHIVE_WIN32).asc homepage: - @echo "Updating $(APPNAME) Homepage..." +# update documentation and man pages $(MAKE) -C doc man - sed -i -e "s/version = '.*'/version = '$(VERSION)'/" ~/public_html/linkchecker.sf.net/source/conf.py - $(MAKE) -C ~/public_html/linkchecker.sf.net update upload - @echo "done." +# generate static files + make -C $(HOMEPAGE) gen upload register: @echo "Register at Python Package Index..." $(PYTHON) setup.py register @echo "done." - -announce: @echo "Submitting to Freecode..." freecode-submit < $(LAPPNAME).freecode @echo "done." +deb: +# build a debian package + [ -f $(DEBORIGFILE) ] || cp dist/$(ARCHIVE_SOURCE) $(DEBORIGFILE) + sed -i -e 's/VERSION_$(LAPPNAME):=.*/VERSION_$(LAPPNAME):=$(VERSION)/' $(DEBUILDDIR)/$(LAPPNAME).mak + [ -d $(DEBPACKAGEDIR) ] || (cd $(DEBUILDDIR); \ + patool extract $(DEBORIGFILE); \ + cd $(CURDIR); \ + git checkout debian; \ + cp -r debian $(DEBPACKAGEDIR); \ + git checkout master) + $(MAKE) -C $(DEBUILDDIR) $(LAPPNAME)_clean $(LAPPNAME) + chmod: -chmod -R a+rX,u+w,go-w $(CHMODMINUSMINUS) * find . -type d -exec chmod 755 {} \; @@ -110,10 +120,7 @@ dist: locale MANIFEST chmod rm -f dist/$(APPNAME)-$(VERSION).tar.xz $(PYTHON) setup.py sdist --formats=tar xz dist/$(APPNAME)-$(VERSION).tar - -dist-stamp: changelog config/ca-certificates.crt - $(MAKE) dist - touch $@ + [ ! -f ../$(ARCHIVE_WIN32) ] || cp ../$(ARCHIVE_WIN32) dist # Build OSX installer with py2app app: distclean localbuild chmod @@ -128,7 +135,6 @@ rpm: # The check programs used here are mostly local scripts on my private system. # So for other developers there is no need to execute this target. check: - [ ! -d .svn ] || check-nosvneolstyle -v check-copyright check-pofiles -v py-tabdaddy @@ -175,19 +181,20 @@ filescheck: localbuild update-copyright: update-copyright --holder="Bastian Kleineidam" -releasecheck: check +releasecheck: check update-certificates @if egrep -i "xx\.|xxxx|\.xx" doc/changelog.txt > /dev/null; then \ echo "Could not release: edit doc/changelog.txt release date"; false; \ fi + @if [ ! -f ../$(ARCHIVE_WIN32) ]; then \ + echo "Missing WIN32 distribution archive at ../$(ARCHIVE_WIN32)"; \ + false; \ + fi @if ! grep "Version: $(VERSION)" $(LAPPNAME).freecode > /dev/null; then \ echo "Could not release: edit $(LAPPNAME).freecode version"; false; \ fi - @if grep "UNRELEASED" debian/changelog > /dev/null; then \ - echo "Could not release: edit debian/changelog distribution name"; false; \ - fi $(PYTHON) setup.py check --restructuredtext -sign_distfiles: +sign: for f in $(shell find dist -name *.xz -o -name *.exe -o -name *.zip -o -name *.dmg); do \ [ -f $${f}.asc ] || gpg --detach-sign --armor $$f; \ done @@ -240,6 +247,6 @@ config/ca-certificates.crt: /etc/ssl/certs/ca-certificates.crt cp $< $@ .PHONY: test changelog gui count pyflakes ide login upload all clean distclean -.PHONY: pep8 cleandeb locale localbuild deb_orig diff dnsdiff sign_distfiles +.PHONY: pep8 cleandeb locale localbuild deb diff dnsdiff sign .PHONY: filescheck update-copyright releasecheck check register announce .PHONY: chmod dist app rpm release homepage update-certificates diff --git a/cgi-bin/lconline/lc_cgi.html.de b/cgi-bin/lconline/lc_cgi.html.de index ae2551d6..3aa53cb7 100644 --- a/cgi-bin/lconline/lc_cgi.html.de +++ b/cgi-bin/lconline/lc_cgi.html.de @@ -23,7 +23,7 @@ function gettext (s) { alink="#191c83">
The commandline client options are documented -in the linkchecker(1) manual page.
+in the linkchecker(1) manual page.In the GUI client, the following options are available:
@@ -66,7 +66,7 @@ A negative depth (eg.-1) will enable infinite recursion.
Profiles memory usage and writes statistics and a dump file when checking stops. The dump file can be examined with -external tools. +external tools. This option should only be useful for developers.
Warning strings
@@ -86,7 +86,7 @@ Useful if certain URL types should not be checked like emails (ie.Each user can edit a configuration with advanced options for checking or filtering. The -linkcheckerrc(5) manual page +linkcheckerrc(5) manual page documents all the options.
In the GUI client the configuration file can be edited directly from @@ -161,7 +161,7 @@ article is specified, it will be requested from the server.
The complete list of recognized, but unsupported links can be seen in the -unknownurl.py +unknownurl.py source file. The most prominent of them are JavaScript links.
diff --git a/doc/html/index.txt b/doc/html/index.txt index 404b4ee4..5992b825 100644 --- a/doc/html/index.txt +++ b/doc/html/index.txt @@ -22,7 +22,7 @@ can be used to check all browser bookmarks. ## Options The commandline client options are documented -in the [linkchecker(1) manual page](http://linkchecker.sourceforge.net/man1/linkchecker.1.html). +in the [linkchecker(1) manual page](http://wummel.github.com/linkchecker/man1/linkchecker.1.html). In the GUI client, the following options are available: @@ -44,7 +44,7 @@ In the GUI client, the following options are available: Profiles memory usage and writes statistics and a dump file when checking stops. The dump file can be examined with - [external tools](http://linkchecker.git.sourceforge.net/git/gitweb.cgi?p=linkchecker/linkchecker;a=blob;f=tests/analyze_memdump.py;hb=HEAD). + [external tools](https://github.com/wummel/linkchecker/blob/master/tests/analyze_memdump.py). This option should only be useful for developers. - Warning strings @@ -65,7 +65,7 @@ In the GUI client, the following options are available: Each user can edit a configuration with advanced options for checking or filtering. The -[linkcheckerrc(5) manual page](http://linkchecker.sourceforge.net/man5/linkcheckerrc.5.html) +[linkcheckerrc(5) manual page](http://wummel.github.com/linkchecker/man5/linkcheckerrc.5.html) documents all the options. In the GUI client the configuration file can be edited directly from @@ -141,7 +141,7 @@ checking. All connection check types are described below. will be made. The complete list of recognized, but unsupported links can be seen in the - [unknownurl.py](http://linkchecker.git.sourceforge.net/git/gitweb.cgi?p=linkchecker/linkchecker;a=blob;f=linkcheck/checker/unknownurl.py;hb=HEAD) + [unknownurl.py](https://github.com/wummel/linkchecker/blob/master/linkcheck/checker/unknownurl.py) source file. The most prominent of them are JavaScript links. ## Recursion diff --git a/doc/linkchecker.doc.pot b/doc/linkchecker.doc.pot index f97d99a2..5ed023ee 100644 --- a/doc/linkchecker.doc.pot +++ b/doc/linkchecker.doc.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2012-11-08 11:13+0100\n" +"POT-Creation-Date: 2013-01-06 18:09+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME