Skip to content

Commit

Permalink
Imported Upstream version 0.08
Browse files Browse the repository at this point in the history
  • Loading branch information
operatornormal committed Sep 30, 2015
1 parent be95857 commit fe2dc34
Show file tree
Hide file tree
Showing 163 changed files with 35,778 additions and 26,697 deletions.
4,055 changes: 2,055 additions & 2,000 deletions FrontWidget.cpp

Large diffs are not rendered by default.

619 changes: 311 additions & 308 deletions FrontWidget.h

Large diffs are not rendered by default.

35 changes: 21 additions & 14 deletions README.TXT
@@ -1,30 +1,37 @@
Compiling:
You need qt4 or 5, libnatmpm, openssl and qjson. The debian control file is
made for qt4 but program compiles with qt5 also. If using qt5 make sure that
the libqjson in use is linked against qt5 and not qt4, in most linux
distributions shipping both qt4 and 5 the libqjson is linked against qt4
and will crash if used with qt5. So, using your favourite package-manager
You need 5, libnatmpm, openssl and miniupnpc . The debian control file is
made for qt5 but program compiles with qt4 also, then add libmagick and
libqjson into dependencies.
So, using your favourite package-manager
install
libqt4-dev
qtbase5-dev-tools
libssl-dev
libnatpmp-dev
libqjson-dev
libminiupnpc-dev
dpkg-dev (if going to build with dpkg-buildpackage)
libgcrypt11-dev (if going to build with dpkg-buildpackage, it checks for this)
libqt4-sql-sqlite (is needed at runtime, not compile time)
libqt5sql5-sqlite (is needed at runtime, not compile time)
imagemagick (alternatively download
https://github.com/operatornormal/classified-ads/blob/graphics/preprocessed.tar.gz?raw=true
and unpack that into same directory with the sources and skip the
graphics-highres -part below)
Libgcrypt-dev or libgcrypt11-dev are needed for test suite, some bignum
tests are done against routines in this library but in normal runtime
there is no dependency.

Then just say "qmake-qt4 ; make install" and that should do the trick ; or
If compiling in linux or other unix-like system, you do the following:

- but skip this part for debian+derivatives (ubuntu,mint) if building
with dpkg-buildpackage:
cd graphics-highres
make
cd ..

Then just say "qmake ; make install" and that should do the trick ; or
if inside debian-ecosystem "dpkg-buildpackage -r" in this directory should
produce a installable package for your environment ; this is the correct
way anyway.

In windows program compiles in MinGW ; attempt with MSVC2010 resulted in
unresolvable symbols from moc-files that seems weird to me but the MinGW-build
is all right and it is possible to compile all required libs with MinGW.
Qjson from version control did not work, there is patch included in
directory called patch to make it behave.
For compiling under ms-windows, see readme-file in sub-dir windows.

License: LGPL. Happy hacking.
11 changes: 6 additions & 5 deletions classified-ads.1
Expand Up @@ -8,17 +8,18 @@ classified-ads \- Program for posting ads online for others to see
Classified ads is a program for online communications.
Main features include server-less design, public announcements,
private messages, user data and comments. For longer explanation
of the program, please see "About" -dialog inside the program.
of the program, please see "About" dialog inside the program.
.SH FILES
For each individual user a file $HOME/.classified_ads/sqlite_db is
created. This is a normal sqlite database that contains state of
the program. For backup purpose user may copy this file elsewhere
and later restore it while the program is not running.
the program. For backup purpose a copy may be made and later restored
while the program is not running. Restoring an old file fully resets the
programs state to moment when backup was taken.

Upon uninstall of the program, the datafile is left lingering around.
Users who are sure they'll never user the program again should delete
the file by hand. Note that users encryption keys are inside this
file among other data so deleting the file will affect users ability
to read his private messages later.
to access private messages later.
.SH AUTHOR
Classified ads is copyright (C) Antti Jarvinen 2015.
Classified ads is copyright Antti Jarvinen 2015.
70 changes: 50 additions & 20 deletions classified-ads.pro 100755 → 100644
Expand Up @@ -37,6 +37,16 @@ win32.CONFIG += console
}
CODECFORTR = UTF-8
CODECFORSRC = UTF-8
QMAKE_EXTRA_TARGETS += translations_compile
PRE_TARGETDEPS += translations_compile
unix {
translations_compile.commands = cd po ; $(MAKE)
QMAKE_CLEAN += po/*.mo
}
win32 {
translations_compile.commands = $(MAKE) -C po MSGFMT_PATH=/msys32/usr/local/bin/
QMAKE_CLEAN += po\*.mo
}
HEADERS = mcontroller.h controller.h FrontWidget.h net/node.h util/hash.h \
net/connection.h datamodel/model.h \
net/networklistener.h net/protocol_message_formatter.h \
Expand All @@ -62,7 +72,8 @@ HEADERS = mcontroller.h controller.h FrontWidget.h net/node.h util/hash.h \
datamodel/connectionlistingmodel.h ui/manualconnection.h \
ui/aboutdialog.h textedit/textedit.h datamodel/searchmodel.h \
ui/searchdisplay.h ui/insertlinkdialog.h ui/newtextdocument.h \
datamodel/trusttreemodel.h
datamodel/trusttreemodel.h ui/metadataQuery.h util/jsonwrapper.h \
util/catranslator.h
SOURCES = main.cpp controller.cpp FrontWidget.cpp net/node.cpp util/hash.cpp \
net/connection.cpp datamodel/model.cpp \
net/networklistener.cpp net/protocol_message_formatter.cpp \
Expand All @@ -89,41 +100,60 @@ SOURCES = main.cpp controller.cpp FrontWidget.cpp net/node.cpp util/hash.cpp \
datamodel/connectionlistingmodel.cpp ui/manualconnection.cpp \
ui/aboutdialog.cpp textedit/textedit.cpp datamodel/searchmodel.cpp \
ui/searchdisplay.cpp ui/insertlinkdialog.cpp ui/newtextdocument.cpp \
datamodel/trusttreemodel.cpp
datamodel/trusttreemodel.cpp ui/metadataQuery.cpp \
util/jsonwrapper.cpp util/catranslator.cpp
FORMS = frontWidget.ui ui/profileReadersDialog.ui ui/passwordDialog.ui \
ui/newClassifiedAd.ui ui/newPrivMsg.ui ui/editContact.ui \
ui/newProfileComment.ui ui/profileCommentDisplay.ui \
ui/attachmentListDialog.ui ui/settingsDialog.ui \
ui/statusDialog.ui ui/manualConnectionDialog.ui \
ui/aboutDialog.ui ui/searchDisplay.ui ui/insertLink.ui \
ui/newTextDocument.ui
ui/newTextDocument.ui ui/metadataQuery.ui
RESOURCES = ui_resources.qrc
TRANSLATIONS = classified_ads_fi.ts \
classified_ads_sv.ts
unix:LIBS = -lssl -lcrypto -lnatpmp -lqjson -lminiupnpc
unix:LIBS = -lssl -lcrypto -lnatpmp -lminiupnpc
lessThan(QT_MAJOR_VERSION, 5) {
unix:LIBS += -lqjson -lmagic
}

# following line is needed for fedora linux, natpnp needs miniupnpc
unix:INCLUDEPATH += /usr/include/miniupnpc
win32:LIBS += "c:\msys\1.0\local\lib\libssl.a"
win32:LIBS += "c:\msys\1.0\local\lib\libcrypto.a"
win32:LIBS += "..\miniupnpc\miniupnpc-1.9\miniupnpc.lib"
win32:LIBS += "-L"
win32:LIBS += "..\qjson-master\build\src"
win32:LIBS += "-lqjson"
win32:LIBS += "-L..\openssl-1.0.2d"
win32:LIBS += "-lcrypto"
win32:LIBS += "-lssl"
win32:LIBS += "..\miniupnpc-1.9\miniupnpc.lib"
win32:LIBS += "-L\msys32\usr\local\lib"
win32:LIBS += "-lintl"
lessThan(QT_MAJOR_VERSION, 5) {
win32:LIBS += "-L"
win32:LIBS += "..\qjson-master\build\src"
win32:LIBS += "-lqjson"
}
win32:LIBS += "-lWs2_32" "-lGdi32" "-lIphlpapi"
win32:INCLUDEPATH += "C:\msys\1.0\local\include"
win32:INCLUDEPATH += "..\miniupnpc\miniupnpc-1.9"
win32:INCLUDEPATH += "..\qjson-master\include"

win32:INCLUDEPATH += "..\openssl-1.0.2d\include"
win32:INCLUDEPATH += "..\miniupnpc-1.9"
win32:INCLUDEPATH += "\msys32\usr\local\include"
lessThan(QT_MAJOR_VERSION, 5) {
win32:INCLUDEPATH += "..\qjson-master\include"
}
target.path = /usr/bin
desktopfiles.path = /usr/share/applications
desktopfiles.files = ui/classified_ads.desktop
desktopicons.path = /usr/share/app-install/icons/
desktopfiles.files = ui/classified-ads.desktop
appdata.files = ui/classified-ads.appdata.xml
appdata.path = /usr/share/appdata/
unix {
# in unix install translations as part of appdata:
appdata.extra = cd po ; $(MAKE) install DESTDIR=$(DESTDIR)
}
desktopicons.files = ui/turt-transparent-128x128.png
desktopicons.path = /usr/share/app-install/icons/
manpages.path = /usr/share/man/man1
manpages.files = classified-ads.1
translations.path = /usr/lib/classified-ads
translations.files = classified_ads_fi.qm \
classified_ads_sv.qm
INSTALLS += target desktopfiles desktopicons translations
INSTALLS += target \
desktopfiles \
desktopicons \
appdata
unix:INSTALLS += manpages
unix:INSTALLS += appdata
RC_FILE=classified-ads.rc
90 changes: 58 additions & 32 deletions classified-ads.spec
@@ -1,50 +1,76 @@
Name: classified_ads
Version: 0.03
Name: classified-ads
Version: 0.08
Release: 1%{?dist}
Summary: Classified ads is a program for posting ads online

Group: Applications/Internet
License: GPLv3
URL: https://github.com/operatornormal/classified_ads/releases/tag/0.03
Source0: classified_ads-0.03.tar.gz

BuildRequires: qt-devel >= 4
BuildRequires: openssl-devel, libnatpmp-devel, qjson-devel, gcc-c++, miniupnpc-devel
Requires: qt >= 4
Requires: bzip2-libs, expat, fontconfig, freetype, openssl-libs
Requires: pcre, qjson, libnatpmp, qjson-devel, xz-libs, zlib, miniupnpc

BuildRoot: %{_tmppath}/%{name}-%{version}-build

License: LGPLv2
URL: http://katiska.org/classified_ads/
Source0: https://github.com/operatornormal/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: https://github.com/operatornormal/classified-ads/blob/graphics/preprocessed.tar.gz?raw=true#/%{name}-graphics-%{version}.tar.gz
BuildRequires: qt5-qtbase-devel
BuildRequires: openssl-devel, libnatpmp-devel, miniupnpc-devel, gettext
BuildRequires: libappstream-glib, desktop-file-utils
%description
Classified ads is an attempt to re-produce parts of the functionality that went away when usenet news ceased to exist. This attempt tries to fix the problem of disappearing news-servers so that there is no servers required ; data storage is implemented inside client applications that you and me are running.


Classified ads is an attempt to re-produce parts of the functionality
that went away when Usenet news ceased to exist. This attempt tries to
fix the problem of disappearing news-servers so that there is no servers
required and no service providers needed; data storage is implemented
inside client applications that users are running.
%prep
%setup -q
%setup -q -a 1

%build
PREFIX="/tmp/foo"
export CXXFLAGS=-I/usr/include/miniupnpc
QMAKE_ARGS+="INCLUDEPATH+=${LOCALBASE}/include/miniupnpc/ LIBS+=-L${LOCALBASE}/lib"; qmake-qt4 PREFIX=$RPM_BUILD_ROOT
make
qmake-qt5
make %{?_smp_mflags}

%install
INSTALL_ROOT=$RPM_BUILD_ROOT make install

%clean
rm -rf $RPM_BUILD_ROOT


INSTALL_ROOT=%{buildroot} make install DESTDIR=%{buildroot}
appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/classified-ads.appdata.xml
desktop-file-validate %{buildroot}/%{_datadir}/applications/classified-ads.desktop
%files
%doc README.TXT
%{_bindir}/classified-ads
%{_datadir}/applications/classified_ads.desktop
%{_datadir}/applications/classified-ads.desktop
%dir %{_datadir}/app-install
%dir %{_datadir}/app-install/icons
%{_datadir}/app-install/icons/turt-transparent-128x128.png
/usr/lib/classified-ads/classified_ads_fi.qm
/usr/lib/classified-ads/classified_ads_sv.qm

%{_mandir}/man1/classified-ads.1.gz
%{_datadir}/appdata/classified-ads.appdata.xml
%dir %{_datadir}/locale/
%dir %{_datadir}/locale/fi
%dir %{_datadir}/locale/fi/LC_MESSAGES/
%{_datadir}/locale/fi/LC_MESSAGES/classified-ads.mo
%dir %{_datadir}/locale/sv
%dir %{_datadir}/locale/sv/LC_MESSAGES/
%{_datadir}/locale/sv/LC_MESSAGES/classified-ads.mo
%license LICENSE
%changelog
* Mon Sep 28 2015 Antti Jarvinen <antti.jarvinen@katiska.org> - 0.08-1
- Links against qt5 instead of qt4
- Translation system is gnu gettext instead of qm files of Qt.
- Better tracking of changing local network addresses
- Numerous small bugfixes, mostly in networking code
* Sun Apr 12 2015 Antti Jarvinen <classified-ads.questions@katiska.org> - 0.07-1
- Removed intermediate PNG files into separate tarball
- Included code to generate intermediate PNG files manually
* Mon Apr 6 2015 Antti Jarvinen <classified-ads.questions@katiska.org> - 0.06-1
- Included original high-res bitmaps in different format, conversion routines.
- Fixed potential SIGSEGV appearing in debug build
- Code indented + typos fixed
* Wed Mar 25 2015 Antti Jarvinen <classified-ads.questions@katiska.org> - 0.05-1
- spec-file changes due to review comments.
- tagged a new version to allow building of latest version.
- added copyright notice to FrontWidget.cpp.
- included LGPL_EXCEPTION.txt from Nokia alongside sources.
* Tue Mar 17 2015 Antti Jarvinen <classified-ads.questions@katiska.org> - 0.04-2
- Changed packaging to happen in more civilized way.
Lot of changes into spec file.
- Package name has changed classified_ads -> classified-ads.
- Added appdata, re-wrote the small manpage in less personal tone.
* Sat Mar 14 2015 Antti Jarvinen <classified-ads.questions@katiska.org> - 0.04-1
- License change GPL->LGPL due to OpenSSL license incompatibility.
- Minor UI changes as some bitmaps removed due to licensing issues
* Tue Feb 24 2015 Antti Jarvinen <classified-ads.questions@katiska.org> - 0.03-1
- Rpm build fixes for fedora linux
- Slower connection attempts to unreachable nodes
Expand Down
Binary file modified classified_ads_fi.qm
Binary file not shown.

0 comments on commit fe2dc34

Please sign in to comment.