From b7f872951945bafe437810bba1ebdc783d098d7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9gory=20Soutad=C3=A9?= Date: Tue, 28 Feb 2012 09:34:33 +0100 Subject: [PATCH] Update doc files (ChangeLog, README ...) Update packaging Change install prefix, come back to /usr --- ChangeLog | 14 ++++++- INSTALL | 21 +++------- Makefile | 4 +- README | 4 +- README.fr | 4 +- debian/Makefile | 104 ++++++++++++++++++++++++++++------------------- debian/control | 2 +- debian/rules | 3 ++ install.sh | 4 +- kc.1 | 6 +-- tools/package.sh | 23 +++++------ 11 files changed, 104 insertions(+), 85 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0b04779..0143293 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,13 +1,23 @@ -v0.3 (16/08/2011) +v0.3 (27/02/2012) ** User ** - Install KissCount into /usr/local instead of /usr + New interface in Qt + Use BDD file from .local/share/kisscount + Use libkchart for graphics + New account attribute : hidden + Description is now auto-completed + +** Dev ** + Version 3 of database (account hidden item added) ** Bugs ** Fix a bug in language settings Virtual transferts must not be considered as a debit Last account/category wasn't taken in account during search + v0.2 (04/07/2011) + Remove dependancies of libsqlite and libxml + User throws exception if account/category not found ** User ** Better use of sizers (so better interface!) diff --git a/INSTALL b/INSTALL index aa12c3d..4c435bb 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ ** Dependencies for compilation (on Debian) ** -libsqlite3-dev -libwxgtk2.8-dev +libqt4 +libofx4 g++ make gettext @@ -9,22 +9,11 @@ gettext Optionnal : git poeditor +xgettext +qt4-dev-tools + php5 -** Compilation of extra libraries ** - -lib is not included by default and must be downloaded http://indefero.soutade.fr/p/kisscount/downloads/ -It must be decompressed beside "src" directory. - -cd lib/wxsqlite3-1.9.9 -./configure -make -cd - -cd lib/freechart -make # wxFreechart is already configured -cd - - - ** Compilation of KissCount ** make clean make diff --git a/Makefile b/Makefile index e24d342..7f76015 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -ROOT_DIR="/usr/local" -#LIB_DIR=$(DESTDIR)$(ROOT_DIR)"/lib/kisscount/" +ROOT_DIR="/usr" +LIB_DIR=$(DESTDIR)$(ROOT_DIR)"/lib/kisscount/" SHARE_DIR=$(DESTDIR)$(ROOT_DIR)"/share/kisscount/" DOC_DIR=$(DESTDIR)$(ROOT_DIR)"/share/doc/kisscount/" BIN_DIR=$(DESTDIR)$(ROOT_DIR)"/bin/" diff --git a/README b/README index 6f519a0..2410801 100644 --- a/README +++ b/README @@ -2,9 +2,7 @@ KissCount is personnal account software delivered under GPL v3 licence terms. Current version is 0.3 -wxWidgets 2.8, sqlite3, libofx and libxml2 are needed - -A modified version of wxFreeChart is used : warning during recompilation, don't overwrite autotools files with ./configure +Qt 4 and libofx are needed If you use web view, edit database.php and set $BDD_FILE, it's higly recommanded to use an SSL certificate. diff --git a/README.fr b/README.fr index ce993d6..afa7d72 100644 --- a/README.fr +++ b/README.fr @@ -2,9 +2,7 @@ KissCount est un logiciel de gestion de comptes personnels délivré sous licenc La version actuelle est 0.3 -wxWidgets 2.8, sqlite3, libofx et libxml2 sont nécessaires - -Une version modifiée de wxFreeChart est utilisée : attention à lors de la recompilation à ne pas écraser les fichiers des autotools (pas de ./configure) +Qt4 et libofx sont nécessaires Si vous utilisez la version web pour visualiser vos comptes, éditez d'abord le fichier database.php en positionnant correctement la variable $BDD_FILE, il est fortement recommandé d'utiliser un certificat SSL. diff --git a/debian/Makefile b/debian/Makefile index 76a2bc2..70d56bc 100644 --- a/debian/Makefile +++ b/debian/Makefile @@ -1,54 +1,77 @@ -LIB_DIR=$(DESTDIR)"/usr/lib/kisscount/" -SHARE_DIR=$(DESTDIR)"/usr/share/kisscount/" -DOC_DIR=$(DESTDIR)"/usr/share/doc/kisscount/" -BIN_DIR=$(DESTDIR)"/usr/bin/" +ROOT_DIR="/usr" +#LIB_DIR=$(DESTDIR)$(ROOT_DIR)"/lib/kisscount/" +SHARE_DIR=$(DESTDIR)$(ROOT_DIR)"/share/kisscount/" +DOC_DIR=$(DESTDIR)$(ROOT_DIR)"/share/doc/kisscount/" +BIN_DIR=$(DESTDIR)$(ROOT_DIR)"/bin/" -CXXFLAGS+=`wx-config --cxxflags` -Wall -Isrc -ggdb -CXXFLAGS+=-I./lib/wxsqlite3-1.9.9/include -CXXFLAGS+=-I./lib/freechart/include -CXXFLAGS+=-Wl,--rpath,"$(LIB_DIR)" +QT_PACKAGES="QtCore QtGui QtSql QtXml" +CXXFLAGS=`pkg-config --cflags $(QT_PACKAGES)` +CXXFLAGS+=-Wall -Isrc -ggdb -fPIC CXXFLAGS+=-DRESSOURCES_ROOT="\"$(SHARE_DIR)\"" +# For developpers #CXXFLAGS+=-DRESSOURCES_ROOT="\"./ressources/\"" -LDFLAGS+=`wx-config --libs` -ifdef WIN32 -LDFLAGS+=-L./lib/wxsqlite3-1.9.9/lib/ -lwxcode_msw_wxsqlite3-2.8 -LDFLAGS+=-L./lib/freechart/lib -lwxcode_msw_freechart-2.8 -else -LDFLAGS+=-L./lib/wxsqlite3-1.9.9/lib/ -lwxcode_gtk2u_wxsqlite3-2.8 -LDFLAGS+=-L./lib/freechart/lib -lwxcode_gtk2u_freechart-2.8 -endif +LDFLAGS=`pkg-config --libs $(QT_PACKAGES)` +LDFLAGS+=-lofx -CXX=$(PREFIX)g++ +CXX=$(HOST)g++ -SOURCES=$(wildcard src/model/*.cpp) -SOURCES+=$(wildcard src/view/*.cpp) -SOURCES+=$(wildcard src/view/grid/*.cpp) -SOURCES+=$(wildcard src/controller/*.cpp) -SOURCES+=src/main.cpp src/sha1.cpp src/ParseExp.cpp -HEADERS=$(wildcard src/model/*.h) -HEADERS+=$(wildcard src/view/*.h) -HEADERS+=$(wildcard src/view/grid/*.h) -HEADERS+=$(wildcard src/controller/*.h) -HEADERS+=src/main.h src/sha1.h +SOURCES=$(shell find src -name '*.cpp' -type f | tr '\n' ' ') OBJS=$(SOURCES:.cpp=.o) +MOC_HEADERS=$(shell find src/view -name '*.hpp' -type f | tr '\n' ' ') +MOCS=$(MOC_HEADERS:.hpp=.objs) +MOCS_OBJS=$(MOC_HEADERS:.hpp=.moc) -all: check kc +CXXFLAGS+=-Ilib/libkdchart/include -Ilib/libkdchart/src -Ilib/libkdchart/kdablibfakes/include +CXXFLAGS+=-DKDCHART_BUILD_KDCHART_LIB +KDCHART_SOURCES=$(shell find lib/libkdchart/src -name '*.cpp' -type f | tr '\n' ' ') +KDCHART_OBJS=$(KDCHART_SOURCES:.cpp=.o) +UI_CHARTSELECTOR=lib/libkdchart/src/ui_KDChartDatasetSelector.h +KDCHART_MOC_HEADERS=$(shell find lib/libkdchart/src -name '*.h' -type f | tr '\n' ' ') +KDCHART_MOCS=$(KDCHART_MOC_HEADERS:.h=.objs) +KDCHART_MOCS_OBJS=$(KDCHART_MOC_HEADERS:.h=.moc) +LDFLAGS+=lib/libkdchart.a -clean: - rm -f *~ src/*~ src/*.o src/model/*.o src/model/*~ src/view/*.o src/view/grid/*.o src/view/grid/*~ src/view/*~ src/controller/*.o src/controller/*~ kc +all: mojito lib/libkdchart.a kc -# %.o : src/model/%.cpp src/view/%.cpp src/view/grid/%.cpp src/controller/%.cpp src/%.cpp -# $(CXX) $(CXXFLAGS) $< -c +clean_all: clean clean_libkdchart -check: -# if ! test -d lib ; then echo lib directory not found, please see INSTALL ; return 1 ; fi +clean: + find src -type f -name '*.o' -delete + find src -type f -name '*~' -delete + find src -type f -name '*.moc' -delete + find src -type f -name '*.objs' -delete + rm -f kc -#kc: $(OBJS) -# $(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS) +%.o : %.cpp + $(CXX) $(CXXFLAGS) -c $< -o $@ -kc: - cp ../kc . +%.objs : %.moc + $(CXX) $(CXXFLAGS) -x c++ $< -c -o $@ + +%.moc : %.hpp + moc -nw $< -o $@ + +%.moc : %.h + moc -nw $< -o $@ + +mojito : $(MOCS_OBJS) $(KDCHART_MOCS_OBJS) + +kc: $(MOCS) $(OBJS) + $(CXX) $(CXXFLAGS) $^ -o $@ $(LDFLAGS) + +$(UI_CHARTSELECTOR): lib/libkdchart/src/KDChartDatasetSelector.ui + uic $< > $(UI_CHARTSELECTOR) + sed s/KDCHARTDATASETSELECTOR_H/UI_KDCHARTDATASETSELECTOR_H/g -i $(UI_CHARTSELECTOR) + +lib/libkdchart.a: $(UI_CHARTSELECTOR) $(KDCHART_MOCS) $(KDCHART_OBJS) + ar rcu lib/libkdchart.a $(KDCHART_MOCS) $(KDCHART_OBJS) + +clean_libkdchart: + rm -rf lib/libkdchart.a + find lib/libkdchart -name '*.o' -delete + find lib/libkdchart -type f -name '*.moc' -delete + find lib/libkdchart -type f -name '*.objs' -delete generate_locales: ./tools/generate_locales.sh @@ -62,11 +85,10 @@ package: endif install: - mkdir -p $(LIB_DIR) $(BIN_DIR) $(SHARE_DIR) $(DOC_DIR) + mkdir -p $(BIN_DIR) $(SHARE_DIR) $(DOC_DIR) cp kc $(BIN_DIR) - cp -rf lib/*.so* $(LIB_DIR) cp -rf ressources/* $(SHARE_DIR) - cp -rf README* ChangeLog CONTRIBUTORS TODO $(DOC_DIR) + cp -rf README* ChangeLog CONTRIBUTORS COPYING TODO $(DOC_DIR) remove: rm -rf $(LIB_DIR) $(SHARE_DIR) $(DOC_DIR) $(BIN_DIR)/kc diff --git a/debian/control b/debian/control index 9f5440a..f749a7c 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: kisscount Section: misc Priority: extra Maintainer: Grégory Soutadé -Build-Depends: debhelper (>= 7.0.50~), libsqlite3-dev, libwxgtk2.8-dev (>= 2.8.10), libofx-dev, libxml2-dev +Build-Depends: debhelper (>= 7.0.50~), libofx-dev, libqt4-dev Standards-Version: 3.9.1 Homepage: http://indefero.soutade.fr/p/kisscount/ Vcs-Git: git://soutade.fr/kisscount.git diff --git a/debian/rules b/debian/rules index 5c7d3aa..a0499f6 100755 --- a/debian/rules +++ b/debian/rules @@ -28,3 +28,6 @@ export DH_VERBOSE=1 override_dh_strip: + +# Full compilation has already been done +override_dh_auto_clean: \ No newline at end of file diff --git a/install.sh b/install.sh index d59f050..1911350 100755 --- a/install.sh +++ b/install.sh @@ -2,7 +2,7 @@ # KissCount installation script for .tar.bz2 package -# Copyright 2010-2011 Grégory Soutadé +# Copyright 2010-2012 Grégory Soutadé # This file is part of KissCount. @@ -19,7 +19,7 @@ # You should have received a copy of the GNU General Public License # along with KissCount. If not, see . -ROOT_DIR=/usr/local +ROOT_DIR=/usr SHARE_DIR=$ROOT_DIR/share/kisscount LIB_DIR=$ROOT_DIR/lib/kisscount BIN_DIR=$ROOT_DIR/bin diff --git a/kc.1 b/kc.1 index b37925d..edcda45 100644 --- a/kc.1 +++ b/kc.1 @@ -2,7 +2,7 @@ .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) -.TH KC 1 "February 26, 2011" +.TH KC 1 "February 27, 2012" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -26,9 +26,9 @@ KissCount is a personal accounting software. Its goal is to be as simple as poss It focuses on PERSONAL accounting (not companies/associations). You only have to enter operations and see what you have (or not). .TP .B bdd_file -Choose another database file than ~/.kisscount/kc.bdd +Choose another database file than ~/.local/share/kisscount/kc.bdd .SH FILES -Default database is ~/.kisscount/kc.bdd +Default database is ~/.local/share/kisscount/kc.bdd .SH AUTHOR KissCount was written by . .PP diff --git a/tools/package.sh b/tools/package.sh index 9f7f614..09b8673 100755 --- a/tools/package.sh +++ b/tools/package.sh @@ -2,7 +2,7 @@ DATE=`date +%d.%m.%Y` [ -z "$ARCH" ] && ARCH=`${HOST}gcc -dumpmachine | cut -d- -f1` -VERSION=`cat src/controller/KissCount.h | grep APP_VERSION | cut -d\" -f2` +VERSION=`cat src/controller/KissCount.hpp | grep APP_VERSION | cut -d\" -f2` DIR="KissCount_build_${VERSION}_${DATE}_${ARCH}" FILE="$DIR.tar.bz2" @@ -12,14 +12,13 @@ DEBEMAIL=soutade@gmail.com DEBFULLNAME="Grégory Soutadé" export DEBEMAIL DEBFULLNAME -rm -f "$FILE" -rm -rf "$DIR" +[ -f "$FILE" ] && rm -f "$FILE" +[ -d "$DIR" ] && rm -rf "$DIR" +mkdir "$DIR" if [ "$1" == "clean" ] ; then make clean fi make || (echo "Compilation failed" ; exit 1) -mkdir -p "$DIR"/lib -cp -r lib/freechart/lib/*.so* lib/wxsqlite3-1.9.9/lib/*.so* "$DIR"/lib cp -r kc ressources TODO CONTRIBUTORS COPYING README* www install.sh "$DIR" find "$DIR" -type f -executable -exec ${HOST}strip \{\} \; tar -jcf "$FILE" "$DIR" @@ -29,20 +28,20 @@ rm -rf "$DIR" if [ -d "debian" ] ; then DEB_FILE="kisscount_${VERSION}-1_${ARCH}.deb" rm -rf "$DEB_DIR" "$DEB_FILE" -mkdir -p "$DEB_DIR/lib" -cp -r lib/freechart/lib/*.so* lib/wxsqlite3-1.9.9/lib/*.so* "$DEB_DIR/lib" -cp -r kc.1 kc debian README* ChangeLog TODO CONTRIBUTORS ressources "$DEB_DIR" -${HOST}strip "$DEB_DIR/lib/*" kc -#tar -zcf "$DEB_FILE" "$DEB_DIR" +mkdir "$DEB_DIR" +cp -r kc.1 kc debian README* ChangeLog TODO CONTRIBUTORS COPYING ressources "$DEB_DIR" cd "$DEB_DIR" +${HOST}strip kc mv debian/Makefile . -ln -s ../../src +[ ! -d src ] && ln -s ../src +[ ! -d lib ] && ln -s ../lib #sed -i s/i686/$ARCH/g debian/control #dh_make -f "../$DEB_FILE" --copyright gpl3 --email $DEBEMAIL -s [ "${ARCH}" == "x86_64" ] && ARCH="amd64" [ "${ARCH}" == "i686" ] && ARCH="i386" -debuild -us -uc -b -i -a${ARCH} +debuild -us -uc -b -i -a${ARCH} || (cd - ; exit 1) cd - +rm -rf "$DEB_DIR" fi if [ -z "$DEB_FILE" ] ; then