Merge commit 'cd357843cb255424e745fd05ab93d1ec4b3f8334' as 'fbreader/fbreader'

This commit is contained in:
Slava Monich 2015-05-26 23:59:24 +03:00
commit 56a5d7f63f
2199 changed files with 1153198 additions and 0 deletions

13
fbreader/fbreader/.gitignore vendored Normal file
View file

@ -0,0 +1,13 @@
makefiles/target.mk
.cproject
.project
.settings
*.o
*.d
*.pyc
zlibrary/core/libzlcore.so*
zlibrary/text/libzltext.so*
zlibrary/ui/zlui-qt4.so
zlibrary/ui/zlui-gtk.so
zlibrary/ui/zlui-qt.so
fbreader/FBReader

View file

@ -0,0 +1,40 @@
Version 0.11.0
New features:
* A support for eReader (Peanut reader) book format has been added
* Mobipocket support has been improved: files compressed with Huffdic algorithm are now supported
* German localization (by Rainer Paul) has been added
Important changes:
* An information about books (like title, author name, language, etc.) is now stored in SQLite database files instead of the old books.xml file
* Library tree (organized by authors) has been modified: all authors are displayed separately
* Tags logic has been essentially changed
* Authors and Tags editing has been changed in the "Book Info" dialog
* New "Author Info" dialog has been added to edit information about single author: author sortKey managment is moved there
* Zip-archives are processed recursively like folders when "Look for Books in Subdirectories" obtion is enabled
* Language and encoding recognition has been totally rewritten; patterns for Arabic and Indonesian are temporarily missing
Important fixes:
* An interaction with the feedbooks.com online library has been fixed
Migration notes:
Information on all books is moved from XML files to the SQLite database. This work (that further is called Migration) is executed on the first launch of the new version of FBReader.
In previous versions of FBReader Tags handling sometimes was carried out incorrectly. This problem basically appeared when working with books in fb2 format. The matter is that FBReader did not support the tags containing a comma earlier, however some books contained a comma in tags, therefore FBReader handled such tag as a number of tags. Let's give an example:
Tag in the book file:
Science, Education/Cultural Science
Tags associated with the book in the program:
Science
Education/Cultural Science
Thus, while it was supposed that the book should belong to a subcategory "Cultural Science" within a category "Science, Education", actually the book was associated with a category "Science", and also with a subcategory "Cultural Science" within a category "Education".
FBReader needs access to the books files while migration to correct described errors. If the book file is inaccessible while migration (for example, it is placed on the not attached removable mass storage), than corresponding book tags are moved to the SQLite database in that form, in which they were stored in XML files; later on these tags can be corrected only manually.
Thus, before the first launch of the FBReader version 0.11.0 it is strongly recommended to attach all removable mass storages on which books are stored to give FBReader an access to books files in order to correct described error.
IMPORTANT NOTE: Initial information about all books will be removed from the program XML files after migration by the FBReader. Since you download the beta-version of the FBReader which can contain errors, it is strongly recommended to make a backup of the program XML files before the first launch of the new version of the FBReaeder. It will save manually edited information about books if there will be an error during program execution. In order to save program XML files from loss it's required to make a backup of the "~/.FBReader" folder.

View file

@ -0,0 +1,39 @@
Version 0.11.0
Новые возможности:
* Добавлена поддержка формата EReader (Peanut reader)
* Улучшена поддержка формата Mobipocket: добавлена поддержка файлов, сжатых с помощью алгоритма huffdic
* Добавлен немецкий перевод интерфейса (спасибо Rainer Paul)
Существенные изменения
* Информация о книгах (заглавие, имя автора, язык, и т.д.) перенесена из xml-файлов в базу данных SQLite
* Изменено представление списка книжек в библиотеке по авторам: все авторы отображаются раздельно
* Существенно изменена логика работы тегов (категорий) (в лучшую сторону ;))
* В диалоге "Информация о книге" изменено редактирование авторов и тегов
* Добавлен новый диалог редактирования информации о конкретном авторе: корректировка sortKey автора перенесена в этот диалог
* При рекурсивном просмотре каталогов также рекурсивно просматриваются и zip-архивы
* Переписано заново определение языка и кодировки; временно нет паттернов для арабского и индонезийского
Важные исправления:
* Исправлена работа с онлайн-библиотекой feedbooks.com
Заметки о миграции:
При переходе к версии 0.11.0 информация о всех книжках переписывается из xml-файлов в базу данных SQLite. Эта работа (которую мы дальше называем миграцией) производится при первом запуске новой версии FBReader.
В предыдущих версиях FBReader обработка Тегов иногда происходила некорректно. Эта проблема в основном проявлялась при работе с книжками в формате fb2. Дело в том, что FBReader раньше не поддерживал теги, содержащие запятую, однако в некоторых книжках все-таки встречались теги с запятой, в результате чего FBReader воспринимал такой тег как несколько тегов. Приведем пример:
Тег, записанный в книжке:
Science, Education/Cultural Science
Теги, ассоциированные с книжкой в программе:
Science
Education/Cultural Science
Таким образом, если предполагалось, что книжка должна принадлежать подкатегории "Cultural Science" в категории "Science, Education", то на самом деле книжка записывалась в категорию "Science", а также в подкатегорию "Cultural Science" категории "Education".
Для исправления этой ошибки при миграции требуется доступ к файлам книг. Если файл книги недоступен в момент миграции (например, находится на отключенном съемном носителе), то теги соответствующей книги будут перенесены в базу данных в том виде, в котором они хранятся в XML-файлах; в дальнейшем эти теги можно будет исправить только вручную.
Таким образом, перед первым запуском FBReader версии 0.11.0 настоятельно рекомендуется подключить все съемные носители, на которых хранятся книжки, чтобы при миграции FBReader имел доступ к файлам книг для исправления описанной выше ошибки.
ВАЖНЫЙ СОВЕТ: После миграции исходная информация о книгах удаляется из xml-файлов самой программой. Поскольку вы скачиваете beta-версию программы, в которой могут содержаться ошибки, настоятельно рекомендуется перед первым запуском программы сделать backup этих xml-файлов, что позволит не потерять отредактированную руками информацию о книгах, если при работе программы случится ошибка. Чтобы сохранить xml-файлы программы от потери, требуется сделать backup каталога "~/.FBReader".

View file

@ -0,0 +1,56 @@
===== 0.99.0 (????????, 2011) =====
* Esperanto interface localization has been added (by Katarína Nosková)
* Hyphenation patterns for Polish (by Tomasz Długosz)
* Polish interface localization (by Tomasz Długosz)
===== 0.14.20100422 (April 22, 2010) =====
* Chinese text drawing optimization (thanks to You Sheng (SmartDevices) for
idea)
* Mobipocket image processing has been fixed
* Standard file open dialog is now used instead of the old specially written
for FBReader
* CSS processing for multi-xhtml epubs has been fixed (in 0.12.* the CSS
loaded for the first xhtml was also applied for all other xhtmls)
* Chinese encodings detection has been improved
* Language/encoding detection for small files has been improved
* A problem with TOC in newest O'Reilly ePubs has been fixed
* A detection of book format by mime-type (not by file extension) has been
partially implemented (in Gtk+ version only)
* Polish interface localization has been added (by Rafał Bakuła)
===== 0.12.10 (April 1, 2010) =====
* Processing of external hyperlinks in epubs has been fixed
===== 0.12.9 (March 25, 2010) =====
* Processing of epub local hyperlinks of form "../dir/file.html" has been
fixed
* Code is now compilable with gcc 4.4.* (missing include directives have been
added)
===== 0.12.8 (March 22, 2010) =====
* Smashwords library support has been improved: purchase links have been added
* LitRes library support has been updated: since this version FBReader uses an
OPDS proxy located at http://data.fbreader.org/ for most operations with the
LitRes catalog
* Processing of the xhtml hyperlinks in html encoded form (like
'/files/This%20is%20a%20link') has been fixed
* A seg.fault during scanning several archives has been fixed
* Lithuanian localization has been updated
* Vietnamese language/encoding detection patterns have been added
* Parsing of decimal point in CSS files has been fixed (it doesn't depend on
the current locale now)
===== 0.12.7 (March 5, 2010) =====
* Vietnamese localization has been added
* LitRes catalog browsing broken in 0.12.6 has been fixed
===== 0.12.6 (March 3, 2010) =====
* A processing of ePub files with incorrect CRC/entry size information
has been fixed. Such files are available e.g. from the FictionWise site.

View file

@ -0,0 +1,23 @@
libraryOptions
networkOptions
systemOptions
readingOptions
lookAndFeelOptions
showReading
showHelp
mouseScrollForward
mouseScrollBackward
tapScrollForward
tapScrollBackward
onFullscreen
forceQuit
gotoPageNumber
gotoPageNumberWithParameter
searchOnNetwork
advancedSearchOnNetwork
byAuthor
byTag
filterLibrary

View file

@ -0,0 +1,44 @@
ROOTDIR = $(CURDIR)
include makefiles/platforms.mk
ZLIBDIRS = zlibrary/core zlibrary/text zlibrary/ui
APPDIRS = fbreader
all:
@for dir in $(ZLIBDIRS) $(APPDIRS); do \
if [ -d $$dir ]; then \
cd $$dir; \
if ! $(MAKE); then \
exit 1; \
fi; \
cd $(ROOTDIR); \
fi; \
done;
install: all do_install
do_install:
@for dir in $(ZLIBDIRS) $(APPDIRS); do \
if [ -d $$dir ]; then \
cd $$dir; make $@; cd $(ROOTDIR); \
fi; \
done
do_install_dev:
@for dir in $(ZLIBDIRS); do \
if [ -d $$dir ]; then \
cd $$dir; make $@; cd $(ROOTDIR); \
fi; \
done
clean:
@for dir in $(ZLIBDIRS) $(APPDIRS); do \
if [ -d $$dir ]; then \
cd $$dir; make $@; cd $(ROOTDIR); \
fi; \
done
distclean: clean
@rm -rvf *.tgz *.tar.gz *.ipk *.deb *.prc *.exe *.log *.dsc *.changes *.rpm
@rm -rf tmp packages packages-nonGPL fbreader-*

View file

@ -0,0 +1,72 @@
This is a very short description of FBReader build procedure.
1. Compiler.
All version of FBReader are configured for building on linux desktop
computer. You need gcc compiler for building desktop version or cross
gcc compiler for building package for another platform.
2. Libraries.
FBReader requires
** expat -- library for XML parsing. AFAIK, all popular destributions
includes package with name like 'expat-dev' or 'libexpat-dev'.
If you cannot find expat in your distribution, please visit
http://expat.sourceforge.net
** libz and libbz2 -- libraries for zip and bzip2 (de)compression
** UI library -- this depends on your target platform. For desktop,
Qt library, version 3.* or 4.*
OR
GTK+ library, version >= 2.4
should be installed
** liblinebreak (http://vimgadgets.cvs.sourceforge.net/vimgadgets/common/tools/linebreak/) -- library for line breaking in a Unicode sequence
** libfribidi -- for bidirectional text support
** lincurl, version >= 7.17 -- for network libraries integration
** libsqlite3
** for win32 version, we use also libpng, libungif, libjpeg and libtiff
3. How to configure.
Before building FBReader, you should check (and maybe edit) 2 files:
** makefiles/target.mk
In this file you should define 3 variables:
TARGET_ARCH -- target platform for building FBReader
UI_TYPE -- UI library
TARGET_STATUS -- "release", "debug" or "profile". "release" is
reasonable choice for almost all users.
Possible pairs for TARGET_ARCH + UI_TYPE are:
TARGET_ARCH = desktop UI_TYPE = gtk
TARGET_ARCH = desktop UI_TYPE = qt
TARGET_ARCH = desktop UI_TYPE = qt4
TARGET_ARCH = pepperpad3 UI_TYPE = gtk
TARGET_ARCH = zaurus UI_TYPE = qtopia-240x320
TARGET_ARCH = zaurus UI_TYPE = qtopia-640x480
TARGET_ARCH = openzaurus UI_TYPE = opie
TARGET_ARCH = openzaurus UI_TYPE = gpe
TARGET_ARCH = pdaxrom UI_TYPE = gtk
TARGET_ARCH = pdaxrom UI_TYPE = qt
TARGET_ARCH = opensimpad-0.9.0 UI_TYPE = opie
TARGET_ARCH = maemo UI_TYPE = maemo2
TARGET_ARCH = maemo UI_TYPE = maemo4
TARGET_ARCH = pma400 UI_TYPE = qtopia
TARGET_ARCH = moto UI_TYPE = ezx
TARGET_ARCH = win32 UI_TYPE = win32
TARGET_ARCH = macosx UI_TYPE = cocoa
** makefiles/arch/$(TARGET_ARCH).mk
This file defines compiler name and location, headers and libraries
locations, compilation flags, installation path (for desktop), etc.
4. How to build.
Just type 'make' in FBReader root directory. (FBReader root directory ==
directory containing this file.)
5. How to install.
If you want to install FBReader on your desktop computer, just run 'make install'
as root in FBReader root directory.
If you want to create package for another platform, run 'make packages' in
FBReader root directory.

View file

@ -0,0 +1,2 @@
****** NOT A BUG ******
To test Chinese search try pattern '许我向你看' (without apostrophes), 1 book should be found

View file

@ -0,0 +1,52 @@
ОБЩЕЕ:
** сообщение об ошибке для архивов без книг
** что делать с мультиархивами (много книг)
** сообщение о невозможности открыть зашифрованный ePub
** сообщение о невозможности открыть файл неизвестного формата
GTK:
** размеры и координаты окна
DONE заголовок окна
DONE directory path
DONE file path
DONE filter
DONE определение mimeType
QT3:
DONE размеры и координаты окна
DONE заголовок окна
DONE directory path
** file path
** filter
** определение mimeType
QT4:
DONE размеры и координаты окна
DONE заголовок окна
DONE directory path
DONE file path
** filter
** определение mimeType
WIN32:
** размеры и координаты окна
** заголовок окна
** directory path
** file path
** filter
** определение mimeType
MAEMO:
** заголовок окна
** directory path
** file path
** filter
** определение mimeType
MAC:
DONE размеры и координаты окна
DONE заголовок окна
DONE directory path
** file path
DONE (10.6 only) filter
** определение mimeType

View file

@ -0,0 +1,44 @@
DONE key scrolling (Arrow Up/Down, Page Up/Down)
DONE book info editing
DONE author info editing
DONE book deleting
DONE book covers
DONE placeholders: book cover, author image, series image, tag image
DONE disable author info editing for 'Unknown Author'
DELAYED text search (?)
DONE obsolete CollectionView
DELAYED bidi
DONE scroll to current book during opening
DONE select currently opened book
DONE scrool on expanding of a tree item
DONE tag view
DONE tag editing
DONE tag cloning
DONE tag deleting
DONE books with no tag processing
DONE Font family/size settings
DONE +/- font size action
DONE scale cover images and block tree node sizes at +/-: check on windows
DONE colors settings in library view
DONE wait message during library loading
DROPPED text for empty collection
DELAYED 'rescan books' button?
DONE an update for books by author view
DONE an update for books by tag view
DONE authors with ',' in name
DONE collectSeries => BookCollection
DONE encoding detection for ~/8cewa.txt (language is detected successfully)
DONE recently added (with 'add file dialog') book is not visible in library
DONE spaces on the first page in Apocalypse Troll
DONE what to do after the add file dialog? (remove second dialog)
DONE image scaling: gtk
DONE image scaling: qt3
DONE image scaling: qt4
DONE image scaling: win32
DONE dont load book cover every time
DELAYED dont store full data in fb2 image (this requires a byte counter in the XML parser)
DONE covers for mobi books
DELAYED move base font options from styles.xml to config.xml for all platforms
DONE ereader bug
DONE options dialog scrollbars in win32
DONE broken links in chm

View file

@ -0,0 +1,59 @@
BUGS
обновление view после 'open file.epub' из командной строки
ДИАЛОГИ
диалог открытия файла
диалог(и) настроек
WaitMessage (= ProgressDialog)
диалог поиска
DONE information box
sign in dialog
УПРАВЛЕНИЕ
реакция на клавиши
DONE реакция на нажатие мыши
прокрутка шариком мышки
прокрутка жестом (2 пальцами)
РАБОТА С ФАЙЛАМИ (для других платформ тоже отсутствует)
DONE зарегистрировать типы файлов (mime/расширение)
DONE перетаскивание иконки файла на иконку приложения
DONE перетаскивание иконки файла в окошко приложения
автоматическое обновление программы
DONE иконка для файлов (иконка приложения на листке)
сообщение об ошибке при невозможности открыть перетащенный файл
перетаскивание должно действовать по-разному, в зависимости от view
если видна книга -- открывать новую
если видна библиотека -- добавлять в нее, причем можно и несколько файлов
если видна сетевая библиотека -- ничего не делать (?)
СБОРКА
DONE порт на младшие версии MacOS
DONE добавить внешние библиотеки в сборку (вместо /usr/local/lib)
DELAYED собирать библиотеки динамически
строить образ установочного диска
MISSING FEATURES
сделать меню
DONE скалирование картинок
доступ к пикселам в картинках
fullscreen
изменение вида курсора
DONE своя обработка закрытия окна (Cancel)
scrollbars
DONE вызов внешних программ
поворот экрана
DONE таймер
clipboard
toolbar
toggle buttons
text fields
recent books menu
определение системного языка
ОПТИМИЗАЦИЯ/COCOA-ИЗАЦИЯ
производительность ZLPaintContext
переместить все настройки в ~/Library/Preferences (написать новую реализацию config)
написать новую реализацию network layer (?)
написать новую реализацию filesystem (?)
все keyboard shortcuts как в MacOS UI guide

View file

@ -0,0 +1,109 @@
** разделить диалог настроек на: библиеотка, look & feel, ...
DONE сделать выпадающее меню
DONE добавить в меню CurrentBookDialog
DONE реалзовать остальные диалоги
DONE добавить остальные диалоги в меню
DONE Реализовать ShowOptionsDialogAction: что запускать???
DONE Сделать правильный ресурс toolbar/preferences
DONE "NetworkLibrary" tab: разделить настройки подключения и настройки каталогов
DELAYED "Keys" tab: Добавить в список действий новые actions
** сделать сетевую часть как в java
DONE в нынешнем виде ZLParseUtil не тянет на "универсальный" класс, у него ровно 1 usage. Перенести его туда.
DONE Сделать линки для покупки на smashwords (?ref=geometer)
DONE добавить аттрибут для <rule> : apply = ( always | external | internal )
DONE не показывать ветки серий, в которых только 1 книга (сразу показывать книгу) - для сетевых и локальной библиотек
DELAYED: BUG: захожу на smashwords.com; скачиваю книжку; прокручиваю несколько строк; снова захожу, скачиваю другую книжку => она открывается не в начале (видимо, на том же абзаце/слове, где была открыта предыдущая
DELAYED: регулярная загрузка данных о каталогах с fbreader.org
** запрос должен содержать номер версии
0.14.0: всегда показывать SearchResultNode, если уж что-то нашлось
0.14.0: обрабатывать в opds теги с разделителем (slash?)
DONE: обрабатывать в opds calibre-расширение для series
DONE: проверить логику вопроса при удалении книги
0.14.0: проверить логику открытия книги (сохранение/чтение позиции)
0.14.0: что за Account Validation на каждое открытие/закрытие каталога???
0.14.0: посмотреть ZLImage::good()
0.14.0: а точно нужно сообщение про signing out?
0.14.0: обрабатывать type="text/html"
0.14.0: BUG: вместо текста в wait-dialog появляется изображение рабочего стола...
DONE: сделать xml для litres, вынести туда все локализованные данные и все ссылки
0.14.0: аннотации к книгам в library/network view
0.14.0: разделить диалог настроек на части: program, library, text
0.14.0: вернуть "продвинутые настройки" прокрутки
0.14.0: доделать поддержку manybooks.net
0.14.0: FBReader::openFile должен добавлять в библиотеку все книги из архива
0.14.0: фильтрация библиотеки: логика
0.14.0: фильтрация библиотеки: для всех платформ
0.14.0: быстрый поиск по тексту
0.14.0: searchField: для всех платформ
DONE: fillSeparator: логика включения/выключения разделителей
0.14.0: fillSeparator: для всех платформ
0.14.0: новый диалог открытия файла для всех платформ
0.14.0: сообщение "в архиве нет книг"
0.14.0: диалог выбора, если в архиве несколько книг
0.14.0: синхронизировать ресурсы
0.14.1: добавить перевод посредством google translate
** MSS: перевод чего?
0.14.1: добавить в запись (в БД) о книге информацию о времени добавления в библиотеку (в БД)
0.14.1: Через какое-то время (2 недели?) картинки в кеше должны протухать (сервер может решить показывать новые картинки в фидах)
0.14.1: докачка файлов (оч. актуально для litres)
DELAYED: authentication на smashwords
0.14.1: добавить другую организацию сетевого каталога: не по сайтам: а по типам ссылок
0.14.1: интеграция с books.google.com?
0.14.1: Показывать проценты при загрузке сетевого каталога (?)
0.14.1: Компьютер не подключен к сети => при попытке коннекта к litres logout меняется на login и данные login'а забываются; нужно учитывать причины неудачи
0.14.1: интеграция с pragprogs
0.14.1: плавная прокрутка пальцем
0.14.1: определение типа файла по mimetype
0.14.1: litres: По аналогии с "мои купленные книги" добавить "мои скачанные фрагменты" -- с возможностью просмотреть и тут же купить полную версию.
0.14.1: litres: Несколько подкаталогов внутри каталога "мои книги" -- а то там уже трудно разобраться. По авторам, по сериям?
0.14.5: UI profiles
0.14.5: закладки
0.14.5: litres: А доступа к "Корзине" в API нету?
0.14.5: litres: Нельзя ли сделать доступ к новостям litres?
0.14.5: litres: Какой-то вариант "моих книг" стоит показать и при отсутствии доступа к сети
0.12.5 Упростить NetworkLibraryItem'ы: неизменяемые и некопируемые
0.12.5 Посмотреть каталоги из http://catalog.lexcycle.com/
0.12.5 Посмотреть http://www.lulu.com/
0.12.5 проверить работу timeout'а
SHUCANG advanced search на shucang.com
LIBRUSEC сделать поддержку для lib.rus.ec
DELAYED Брать исходные картинки фидов прямо с сайтов (?)
DELAYED переместить строки из описаний каталогов в локализуемые файлы (?)
DELAYED спрятать ZLPlainAsynchronousInputStream внуть zlibrary
DELAYED не обрабатывать next link для пустых фидов (fixed at shucang.com side)
DELAYED После authentication диалога wait message'ы показываются поверх окошка диалога, это некрасиво, нужно убрать окно сразу после нажатия на OK
** и перерисовывать окно после этого
DELAYED в QT4 - плохо работают wait-messag'и:
** не видно надписей
** первый message - появляется не в центре окна, а в центре экрана???
DELAYED: почему не удается добраться до книг вот в этом каталоге? http://davidsoft.free.fr/calibre2opds/demo/_catalog/catalog.xml
* это "ненастоящий" feed, его автор пока доволен нынешним состоянием
* потому что в этом каталоге нету книжек: там есть только их названия и имена авторов, но непосредственно ссылок на книги нету...
* Раньше в стандарте было написано, что д.б. хотя бы одна acquisition link, но сейчас это уже не обязательно, но желательно...
* Так что, наверно, следует изменить поведение... Только вот что именно помещать в виде ссылок внизу?
DELAYED перенести удаление www. для feedbooks в fbreader\... ::downloadBook(...)
** Аккуратнее: там потом есть еще проверка на "скачанность файла" по имени
** А может таки у всех удалять. Трудно себе представить, что у кого-то добавление префикса "www." дает ВАЛИДНУЮ ссылку на ДРУГУЮ книгу
DELAYED (can't reproduce) X-System problem - fix set/restore window position (in ZLGtkApplicationWindow)
0.15.0 common code in FB2MetaInfoReader && LitResDataParser
0.15.0 Делать всю работу с сетью в отдельном треде
** загрузка иконок не должна мешать работе
** более интеллигентная защита от бесконечных циклов в просмотре подкаталогов (сейчас смотрим <= 10 страниц в OPDSLink)
** "постепенная" загрузка для next links
** Нормальный progress dialog с кнопкой Cancel
0.15.0 предусмотреть ограничения по времени на загрузку "продолжений" каталогов
0.15.0 обработка ссылок вида "открыть фид в браузере/rss ридере"
0.15.0 автоматизированное получение https сертификатов
BONJOUR сделать поддержку zeroconf/bonjour

View file

@ -0,0 +1,15 @@
DELAYED gtk: editable combobox: открывать его на набранном слове
DONE новый API от Юнгвея
**** ДРУГОЕ ****
патчи для моторолы
**** НЕ ПРОГРАММИРОВАНИЕ ****
другое: поменять документ про языки на сервере
документация: tag hierarchy?
**** ИДЕИ НА БУДУЩЕЕ ****
теги форматов
дополнение к тегу -- возможность создать тег, который будет прописан всем книгам, не имеющим данного тега
автоматические теги -- возможность создать ветки в дереве, в которых будут объединяться книги с указанными комбинациями наличия или отсутствия тегов (All Books и Books With no Tags -- частные случаи)

58
fbreader/fbreader/ToFix Normal file
View file

@ -0,0 +1,58 @@
DONE [5] in Dan Brown (A&D)
MERGED fixed BookReader.cpp
DONE Gtk fs->ufs => reduce window size same problem in qt3 version, looks like wm bug
MERGED fixed for gtk: ZLGtkApplicationWindow.cpp
MERGED fixed for qt3: ZLQtApplicationWindow.cpp
DONE hyphenation in word '80-х' (Задорнов)
MERGED fixed in ZLTextParagraphBuilder.cpp
DONE wait message in fullscreen
MERGED fixed ZLGtkWaitMessage.cpp
MERGED fixed ZLQtWaitMessage.cpp
DONE browser name in debian
DONE deb package for liblinebreak
DONE slow repaint in library mode
MERGED fixed ZLTextPositionIndicator.cpp
DONE author && title for feedbooks mobi books
MERGED fixed MobipocketPlugin.cpp, ZLLanguageUtil.{h,cpp}, Encodings.xml
DONE www.feedbooks.org = feedbooks.org
DONE book links in feedbooks epub files
DONE more languages in MobipocketPlugin.cpp
DONE author duplication
MERGED fixed BookDescription.cpp
DONE option: add automatically all books/books with metainfo only
DONE error during loading "Adventures of Sherlock Holmes".mobi
DONE common place for curl timeout values
DONE errors during link downloading
DONE option: network operation timeout
DONE copyright: 2008->2009
MERGED fixed in all source files
DONE error messages for network operations
DONE "toBeTranslated/obsolete" attributes for resourse files
DONE html images
MERGED fixed in HtmlBookReader.cpp
MERGED fixed in ZLTextParagraph.cpp
ENGLISH
DONE network/index.php
DOCS
DONE new dialog screenshot in network/index.php
renew documentation about formats
renew documentation about tags
navigation document
command line document
README.Build
new screenshots (with new icons)
QT4
qt4 crash on start
TEST
test proxy list/book download
DONE check file removing under Windows
DONE check 65001 code under Windows
SERVER
DONE quick search at fbreader.org
advanced search at fbreader.org: different result for first and second searches for "лук" author pattern
DONE extra lfrom in litres search results

View file

@ -0,0 +1,12 @@
DONE new library view, including book covers
DONE new network library view
DONE image scaling
DONE Chinese localization (by Shucang.Com)
DONE integration with Shucang.Com library
DONE full integration with LitRes.ru (allows to buy books)
DONE windows build
** arm (SmartQ 7) build
DONE A crash in EReader code has been fixed
DONE language/encoding detection has been fixed
DONE improved mobipocket support: correct processing for "full" tags (<tag/>), added support for <mbp:pagebreak> tag
DONE improved internal chm hyperlinks support: supported references like "href=xxx.html#label" where label is not defined in xxx.html

View file

@ -0,0 +1,3 @@
Full Dutch, Hungarian and Spanish localizations (resources, hyphenation patterns, language detection) have been included.
Authorization for Feedbooks and Shucang e-libraries has been implemented.
Miscelaneous problems in zip, ePub, CHM, CSS support have been fixed.

View file

@ -0,0 +1,33 @@
ROOTDIR = $(CURDIR)/..
MAKEFILESDIR = $(ROOTDIR)/makefiles
include $(MAKEFILESDIR)/config.mk
TARGET = tests
target = tests
SUBDIRS = src src/constants src/network/atom
all: .resources
@for subdir in $(SUBDIRS); do \
if ! $(MAKE) -C $$subdir -f $(MAKEFILESDIR)/subdir.mk CFLAGS="$(CFLAGS) -fexceptions"; then \
exit 1; \
fi; \
done;
@echo -n "Linking $(TARGET) ..."
@$(LD) $(LDFLAGS) -o $(TARGET) `find -L src -name *.o` -L$(LIBDIR) -lzlcore -lzltext -lz -lsqlite3
@echo " OK"
clean:
@for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir -f $(MAKEFILESDIR)/subdir.mk clean; \
done;
@$(RM) $(TARGET) err* tmp*
@$(RM) *.log gmon*
@$(RM) `find -L -name '*~'`
@$(RM) `find -L -name '*.o'`
@$(RM) `find -L -name '*.d'`
do_install:

View file

@ -0,0 +1,504 @@
/*
* Copyright (C) 2009-2010 Geometer Plus <contact@geometerplus.com>
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include "Tests.h"
#include "network/atom/ATOMConstructs.h"
bool ATOMDateTest01() {
// test years
ATOMDateConstruct date1(0, 0, 0);
complainIf(date1.getDateTime() != "0000-00-00T00:00:00Z");
complainIf(date1.getDateTime(true) != "0000");
ATOMDateConstruct date2(1990, 0, 0);
complainIf(date2.getDateTime() != "1990-00-00T00:00:00Z");
complainIf(date2.getDateTime(true) != "1990");
return true;
}
bool ATOMDateTest02() {
// test month, any year
ATOMDateConstruct date1(1990, 5, 0);
complainIf(date1.getDateTime() != "1990-05-00T00:00:00Z");
complainIf(date1.getDateTime(true) != "1990-05");
ATOMDateConstruct date2(1997, 11, 0);
complainIf(date2.getDateTime() != "1997-11-00T00:00:00Z");
complainIf(date2.getDateTime(true) != "1997-11");
ATOMDateConstruct date3(0, 5, 0);
complainIf(date3.getDateTime() != "0000-05-00T00:00:00Z");
complainIf(date3.getDateTime(true) != "0000-05");
return true;
}
bool ATOMDateTest03() {
// test days, year > 0, month > 0
ATOMDateConstruct date1(2003, 4, 2);
complainIf(date1.getDateTime() != "2003-04-02T00:00:00Z");
complainIf(date1.getDateTime(true) != "2003-04-02");
ATOMDateConstruct date2(2003, 10, 2);
complainIf(date2.getDateTime() != "2003-10-02T00:00:00Z");
complainIf(date2.getDateTime(true) != "2003-10-02");
ATOMDateConstruct date3(2003, 4, 20);
complainIf(date3.getDateTime() != "2003-04-20T00:00:00Z");
complainIf(date3.getDateTime(true) != "2003-04-20");
ATOMDateConstruct date4(2003, 12, 15);
complainIf(date4.getDateTime() != "2003-12-15T00:00:00Z");
complainIf(date4.getDateTime(true) != "2003-12-15");
return true;
}
bool ATOMDateTest04() {
// test days, year = 0, month > 0
ATOMDateConstruct date1(0, 4, 2);
complainIf(date1.getDateTime() != "0000-04-02T00:00:00Z");
complainIf(date1.getDateTime(true) != "0000-04-02");
ATOMDateConstruct date2(0, 10, 2);
complainIf(date2.getDateTime() != "0000-10-02T00:00:00Z");
complainIf(date2.getDateTime(true) != "0000-10-02");
ATOMDateConstruct date3(0, 4, 20);
complainIf(date3.getDateTime() != "0000-04-20T00:00:00Z");
complainIf(date3.getDateTime(true) != "0000-04-20");
ATOMDateConstruct date4(0, 12, 15);
complainIf(date4.getDateTime() != "0000-12-15T00:00:00Z");
complainIf(date4.getDateTime(true) != "0000-12-15");
return true;
}
bool ATOMDateTest05() {
// test days, year > 0, month = 0
ATOMDateConstruct date1(2003, 0, 2);
complainIf(date1.getDateTime() != "2003-00-02T00:00:00Z");
complainIf(date1.getDateTime(true) != "2003-00-02");
ATOMDateConstruct date2(2003, 0, 2);
complainIf(date2.getDateTime() != "2003-00-02T00:00:00Z");
complainIf(date2.getDateTime(true) != "2003-00-02");
ATOMDateConstruct date3(2003, 0, 20);
complainIf(date3.getDateTime() != "2003-00-20T00:00:00Z");
complainIf(date3.getDateTime(true) != "2003-00-20");
ATOMDateConstruct date4(2003, 0, 15);
complainIf(date4.getDateTime() != "2003-00-15T00:00:00Z");
complainIf(date4.getDateTime(true) != "2003-00-15");
return true;
}
bool ATOMDateTest06() {
// test days, year = 0, month = 0
ATOMDateConstruct date1(0, 0, 2);
complainIf(date1.getDateTime() != "0000-00-02T00:00:00Z");
complainIf(date1.getDateTime(true) != "0000-00-02");
ATOMDateConstruct date2(0, 0, 2);
complainIf(date2.getDateTime() != "0000-00-02T00:00:00Z");
complainIf(date2.getDateTime(true) != "0000-00-02");
ATOMDateConstruct date3(0, 0, 20);
complainIf(date3.getDateTime() != "0000-00-20T00:00:00Z");
complainIf(date3.getDateTime(true) != "0000-00-20");
ATOMDateConstruct date4(0, 0, 15);
complainIf(date4.getDateTime() != "0000-00-15T00:00:00Z");
complainIf(date4.getDateTime(true) != "0000-00-15");
return true;
}
bool ATOMDateTest07() {
// test hours, any date
ATOMDateConstruct date1(2003, 12, 15, 8, 0, 0);
complainIf(date1.getDateTime() != "2003-12-15T08:00:00Z");
complainIf(date1.getDateTime(true) != "2003-12-15T08:00Z");
ATOMDateConstruct date2(0, 12, 15, 8, 0, 0);
complainIf(date2.getDateTime() != "0000-12-15T08:00:00Z");
complainIf(date2.getDateTime(true) != "0000-12-15T08:00Z");
ATOMDateConstruct date3(2003, 0, 20, 8, 0, 0);
complainIf(date3.getDateTime() != "2003-00-20T08:00:00Z");
complainIf(date3.getDateTime(true) != "2003-00-20T08:00Z");
ATOMDateConstruct date4(0, 0, 20, 8, 0, 0);
complainIf(date4.getDateTime() != "0000-00-20T08:00:00Z");
complainIf(date4.getDateTime(true) != "0000-00-20T08:00Z");
ATOMDateConstruct date5(0, 0, 0, 8, 0, 0);
complainIf(date5.getDateTime() != "0000-00-00T08:00:00Z");
complainIf(date5.getDateTime(true) != "0000-00-00T08:00Z");
ATOMDateConstruct date6(2003, 12, 15, 10, 0, 0);
complainIf(date6.getDateTime() != "2003-12-15T10:00:00Z");
complainIf(date6.getDateTime(true) != "2003-12-15T10:00Z");
ATOMDateConstruct date7(0, 12, 15, 11, 0, 0);
complainIf(date7.getDateTime() != "0000-12-15T11:00:00Z");
complainIf(date7.getDateTime(true) != "0000-12-15T11:00Z");
ATOMDateConstruct date8(2003, 0, 20, 18, 0, 0);
complainIf(date8.getDateTime() != "2003-00-20T18:00:00Z");
complainIf(date8.getDateTime(true) != "2003-00-20T18:00Z");
ATOMDateConstruct date9(0, 0, 20, 23, 0, 0);
complainIf(date9.getDateTime() != "0000-00-20T23:00:00Z");
complainIf(date9.getDateTime(true) != "0000-00-20T23:00Z");
ATOMDateConstruct date0(0, 0, 0, 16, 0, 0);
complainIf(date0.getDateTime() != "0000-00-00T16:00:00Z");
complainIf(date0.getDateTime(true) != "0000-00-00T16:00Z");
return true;
}
bool ATOMDateTest08() {
// test minutes, hours > 0, any date
ATOMDateConstruct date1(2003, 12, 15, 8, 1, 0);
complainIf(date1.getDateTime() != "2003-12-15T08:01:00Z");
complainIf(date1.getDateTime(true) != "2003-12-15T08:01Z");
ATOMDateConstruct date2(0, 12, 15, 8, 5, 0);
complainIf(date2.getDateTime() != "0000-12-15T08:05:00Z");
complainIf(date2.getDateTime(true) != "0000-12-15T08:05Z");
ATOMDateConstruct date3(2003, 0, 20, 8, 15, 0);
complainIf(date3.getDateTime() != "2003-00-20T08:15:00Z");
complainIf(date3.getDateTime(true) != "2003-00-20T08:15Z");
ATOMDateConstruct date4(0, 0, 20, 8, 27, 0);
complainIf(date4.getDateTime() != "0000-00-20T08:27:00Z");
complainIf(date4.getDateTime(true) != "0000-00-20T08:27Z");
ATOMDateConstruct date5(2003, 12, 15, 10, 36, 0);
complainIf(date5.getDateTime() != "2003-12-15T10:36:00Z");
complainIf(date5.getDateTime(true) != "2003-12-15T10:36Z");
ATOMDateConstruct date6(0, 12, 15, 11, 48, 0);
complainIf(date6.getDateTime() != "0000-12-15T11:48:00Z");
complainIf(date6.getDateTime(true) != "0000-12-15T11:48Z");
ATOMDateConstruct date7(2003, 0, 20, 18, 59, 0);
complainIf(date7.getDateTime() != "2003-00-20T18:59:00Z");
complainIf(date7.getDateTime(true) != "2003-00-20T18:59Z");
ATOMDateConstruct date8(0, 0, 20, 23, 11, 0);
complainIf(date8.getDateTime() != "0000-00-20T23:11:00Z");
complainIf(date8.getDateTime(true) != "0000-00-20T23:11Z");
ATOMDateConstruct date9(0, 0, 0, 8, 27, 0);
complainIf(date9.getDateTime() != "0000-00-00T08:27:00Z");
complainIf(date9.getDateTime(true) != "0000-00-00T08:27Z");
ATOMDateConstruct date0(0, 0, 0, 23, 11, 0);
complainIf(date0.getDateTime() != "0000-00-00T23:11:00Z");
complainIf(date0.getDateTime(true) != "0000-00-00T23:11Z");
return true;
}
bool ATOMDateTest09() {
// test minutes, hours = 0, any date
ATOMDateConstruct date1(2003, 12, 15, 0, 1, 0);
complainIf(date1.getDateTime() != "2003-12-15T00:01:00Z");
complainIf(date1.getDateTime(true) != "2003-12-15T00:01Z");
ATOMDateConstruct date2(0, 12, 15, 0, 5, 0);
complainIf(date2.getDateTime() != "0000-12-15T00:05:00Z");
complainIf(date2.getDateTime(true) != "0000-12-15T00:05Z");
ATOMDateConstruct date3(2003, 0, 20, 0, 15, 0);
complainIf(date3.getDateTime() != "2003-00-20T00:15:00Z");
complainIf(date3.getDateTime(true) != "2003-00-20T00:15Z");
ATOMDateConstruct date4(0, 0, 20, 0, 27, 0);
complainIf(date4.getDateTime() != "0000-00-20T00:27:00Z");
complainIf(date4.getDateTime(true) != "0000-00-20T00:27Z");
ATOMDateConstruct date5(2003, 12, 15, 0, 36, 0);
complainIf(date5.getDateTime() != "2003-12-15T00:36:00Z");
complainIf(date5.getDateTime(true) != "2003-12-15T00:36Z");
ATOMDateConstruct date6(0, 12, 15, 0, 48, 0);
complainIf(date6.getDateTime() != "0000-12-15T00:48:00Z");
complainIf(date6.getDateTime(true) != "0000-12-15T00:48Z");
ATOMDateConstruct date7(2003, 0, 20, 0, 59, 0);
complainIf(date7.getDateTime() != "2003-00-20T00:59:00Z");
complainIf(date7.getDateTime(true) != "2003-00-20T00:59Z");
ATOMDateConstruct date8(0, 0, 20, 0, 11, 0);
complainIf(date8.getDateTime() != "0000-00-20T00:11:00Z");
complainIf(date8.getDateTime(true) != "0000-00-20T00:11Z");
ATOMDateConstruct date9(0, 0, 0, 0, 27, 0);
complainIf(date9.getDateTime() != "0000-00-00T00:27:00Z");
complainIf(date9.getDateTime(true) != "0000-00-00T00:27Z");
ATOMDateConstruct date0(0, 0, 0, 0, 11, 0);
complainIf(date0.getDateTime() != "0000-00-00T00:11:00Z");
complainIf(date0.getDateTime(true) != "0000-00-00T00:11Z");
return true;
}
bool ATOMDateTest10() {
// test seconds, minutes > 0, hours > 0, any date
ATOMDateConstruct date1(2003, 12, 15, 8, 1, 13);
complainIf(date1.getDateTime() != "2003-12-15T08:01:13Z");
complainIf(date1.getDateTime(true) != "2003-12-15T08:01:13Z");
ATOMDateConstruct date2(0, 12, 15, 8, 5, 1);
complainIf(date2.getDateTime() != "0000-12-15T08:05:01Z");
complainIf(date2.getDateTime(true) != "0000-12-15T08:05:01Z");
ATOMDateConstruct date3(2003, 0, 20, 8, 15, 20);
complainIf(date3.getDateTime() != "2003-00-20T08:15:20Z");
complainIf(date3.getDateTime(true) != "2003-00-20T08:15:20Z");
ATOMDateConstruct date4(0, 0, 20, 8, 27, 27);
complainIf(date4.getDateTime() != "0000-00-20T08:27:27Z");
complainIf(date4.getDateTime(true) != "0000-00-20T08:27:27Z");
ATOMDateConstruct date5(2003, 12, 15, 10, 36, 38);
complainIf(date5.getDateTime() != "2003-12-15T10:36:38Z");
complainIf(date5.getDateTime(true) != "2003-12-15T10:36:38Z");
ATOMDateConstruct date6(0, 12, 15, 11, 48, 46);
complainIf(date6.getDateTime() != "0000-12-15T11:48:46Z");
complainIf(date6.getDateTime(true) != "0000-12-15T11:48:46Z");
ATOMDateConstruct date7(2003, 0, 20, 18, 59, 59);
complainIf(date7.getDateTime() != "2003-00-20T18:59:59Z");
complainIf(date7.getDateTime(true) != "2003-00-20T18:59:59Z");
ATOMDateConstruct date8(0, 0, 20, 23, 11, 50);
complainIf(date8.getDateTime() != "0000-00-20T23:11:50Z");
complainIf(date8.getDateTime(true) != "0000-00-20T23:11:50Z");
return true;
}
bool ATOMDateTest11() {
// test seconds, minutes > 0, hours = 0, any date
ATOMDateConstruct date1(2003, 12, 15, 0, 1, 17);
complainIf(date1.getDateTime() != "2003-12-15T00:01:17Z");
complainIf(date1.getDateTime(true) != "2003-12-15T00:01:17Z");
ATOMDateConstruct date2(0, 12, 15, 0, 5, 28);
complainIf(date2.getDateTime() != "0000-12-15T00:05:28Z");
complainIf(date2.getDateTime(true) != "0000-12-15T00:05:28Z");
ATOMDateConstruct date3(2003, 0, 20, 0, 15, 39);
complainIf(date3.getDateTime() != "2003-00-20T00:15:39Z");
complainIf(date3.getDateTime(true) != "2003-00-20T00:15:39Z");
ATOMDateConstruct date4(0, 0, 20, 0, 27, 41);
complainIf(date4.getDateTime() != "0000-00-20T00:27:41Z");
complainIf(date4.getDateTime(true) != "0000-00-20T00:27:41Z");
ATOMDateConstruct date5(2003, 12, 15, 0, 36, 58);
complainIf(date5.getDateTime() != "2003-12-15T00:36:58Z");
complainIf(date5.getDateTime(true) != "2003-12-15T00:36:58Z");
ATOMDateConstruct date6(0, 12, 15, 0, 48, 1);
complainIf(date6.getDateTime() != "0000-12-15T00:48:01Z");
complainIf(date6.getDateTime(true) != "0000-12-15T00:48:01Z");
ATOMDateConstruct date7(2003, 0, 20, 0, 59, 4);
complainIf(date7.getDateTime() != "2003-00-20T00:59:04Z");
complainIf(date7.getDateTime(true) != "2003-00-20T00:59:04Z");
ATOMDateConstruct date8(0, 0, 20, 0, 11, 9);
complainIf(date8.getDateTime() != "0000-00-20T00:11:09Z");
complainIf(date8.getDateTime(true) != "0000-00-20T00:11:09Z");
return true;
}
bool ATOMDateTest12() {
// test seconds, minutes = 0, hours > 0, any date
ATOMDateConstruct date1(2003, 12, 15, 8, 0, 13);
complainIf(date1.getDateTime() != "2003-12-15T08:00:13Z");
complainIf(date1.getDateTime(true) != "2003-12-15T08:00:13Z");
ATOMDateConstruct date2(0, 12, 15, 8, 0, 1);
complainIf(date2.getDateTime() != "0000-12-15T08:00:01Z");
complainIf(date2.getDateTime(true) != "0000-12-15T08:00:01Z");
ATOMDateConstruct date3(2003, 0, 20, 8, 0, 20);
complainIf(date3.getDateTime() != "2003-00-20T08:00:20Z");
complainIf(date3.getDateTime(true) != "2003-00-20T08:00:20Z");
ATOMDateConstruct date4(0, 0, 20, 8, 0, 27);
complainIf(date4.getDateTime() != "0000-00-20T08:00:27Z");
complainIf(date4.getDateTime(true) != "0000-00-20T08:00:27Z");
ATOMDateConstruct date5(2003, 12, 15, 10, 0, 38);
complainIf(date5.getDateTime() != "2003-12-15T10:00:38Z");
complainIf(date5.getDateTime(true) != "2003-12-15T10:00:38Z");
ATOMDateConstruct date6(0, 12, 15, 11, 0, 46);
complainIf(date6.getDateTime() != "0000-12-15T11:00:46Z");
complainIf(date6.getDateTime(true) != "0000-12-15T11:00:46Z");
ATOMDateConstruct date7(2003, 0, 20, 18, 0, 59);
complainIf(date7.getDateTime() != "2003-00-20T18:00:59Z");
complainIf(date7.getDateTime(true) != "2003-00-20T18:00:59Z");
ATOMDateConstruct date8(0, 0, 20, 23, 0, 50);
complainIf(date8.getDateTime() != "0000-00-20T23:00:50Z");
complainIf(date8.getDateTime(true) != "0000-00-20T23:00:50Z");
return true;
}
bool ATOMDateTest13() {
// test seconds, minutes = 0, hours = 0, any date
ATOMDateConstruct date1(2003, 12, 15, 0, 0, 17);
complainIf(date1.getDateTime() != "2003-12-15T00:00:17Z");
complainIf(date1.getDateTime(true) != "2003-12-15T00:00:17Z");
ATOMDateConstruct date2(0, 12, 15, 0, 0, 28);
complainIf(date2.getDateTime() != "0000-12-15T00:00:28Z");
complainIf(date2.getDateTime(true) != "0000-12-15T00:00:28Z");
ATOMDateConstruct date3(2003, 0, 20, 0, 0, 39);
complainIf(date3.getDateTime() != "2003-00-20T00:00:39Z");
complainIf(date3.getDateTime(true) != "2003-00-20T00:00:39Z");
ATOMDateConstruct date4(0, 0, 20, 0, 0, 41);
complainIf(date4.getDateTime() != "0000-00-20T00:00:41Z");
complainIf(date4.getDateTime(true) != "0000-00-20T00:00:41Z");
ATOMDateConstruct date5(2003, 12, 15, 0, 0, 58);
complainIf(date5.getDateTime() != "2003-12-15T00:00:58Z");
complainIf(date5.getDateTime(true) != "2003-12-15T00:00:58Z");
ATOMDateConstruct date6(0, 12, 15, 0, 0, 1);
complainIf(date6.getDateTime() != "0000-12-15T00:00:01Z");
complainIf(date6.getDateTime(true) != "0000-12-15T00:00:01Z");
ATOMDateConstruct date7(2003, 0, 20, 0, 0, 4);
complainIf(date7.getDateTime() != "2003-00-20T00:00:04Z");
complainIf(date7.getDateTime(true) != "2003-00-20T00:00:04Z");
ATOMDateConstruct date8(0, 0, 20, 0, 0, 9);
complainIf(date8.getDateTime() != "0000-00-20T00:00:09Z");
complainIf(date8.getDateTime(true) != "0000-00-20T00:00:09Z");
return true;
}
bool ATOMDateTest14() {
// test sfraction, any seconds, minutes > 0, hours > 0, any date
ATOMDateConstruct date1(2003, 12, 15, 8, 1, 13, 0.1234);
complainIf(date1.getDateTime() != "2003-12-15T08:01:13.12Z");
complainIf(date1.getDateTime(true) != "2003-12-15T08:01:13.12Z");
ATOMDateConstruct date2(0, 12, 15, 8, 5, 1, 0.1234);
complainIf(date2.getDateTime() != "0000-12-15T08:05:01.12Z");
complainIf(date2.getDateTime(true) != "0000-12-15T08:05:01.12Z");
ATOMDateConstruct date3(2003, 0, 20, 8, 15, 20, 0.1234);
complainIf(date3.getDateTime() != "2003-00-20T08:15:20.12Z");
complainIf(date3.getDateTime(true) != "2003-00-20T08:15:20.12Z");
ATOMDateConstruct date4(0, 0, 20, 8, 27, 27, 0.1234);
complainIf(date4.getDateTime() != "0000-00-20T08:27:27.12Z");
complainIf(date4.getDateTime(true) != "0000-00-20T08:27:27.12Z");
ATOMDateConstruct date5(2003, 12, 15, 10, 36, 0, 0.1234);
complainIf(date5.getDateTime() != "2003-12-15T10:36:00.12Z");
complainIf(date5.getDateTime(true) != "2003-12-15T10:36:00.12Z");
ATOMDateConstruct date6(0, 12, 15, 11, 48, 0, 0.1234);
complainIf(date6.getDateTime() != "0000-12-15T11:48:00.12Z");
complainIf(date6.getDateTime(true) != "0000-12-15T11:48:00.12Z");
ATOMDateConstruct date7(2003, 0, 20, 18, 59, 0, 0.1234);
complainIf(date7.getDateTime() != "2003-00-20T18:59:00.12Z");
complainIf(date7.getDateTime(true) != "2003-00-20T18:59:00.12Z");
ATOMDateConstruct date8(0, 0, 20, 23, 11, 0, 0.1234);
complainIf(date8.getDateTime() != "0000-00-20T23:11:00.12Z");
complainIf(date8.getDateTime(true) != "0000-00-20T23:11:00.12Z");
return true;
}
bool ATOMDateTest15() {
// test sfraction, any seconds, minutes > 0, hours = 0, any date
ATOMDateConstruct date1(2003, 12, 15, 0, 1, 17, 0.9876);
complainIf(date1.getDateTime() != "2003-12-15T00:01:17.99Z");
complainIf(date1.getDateTime(true) != "2003-12-15T00:01:17.99Z");
ATOMDateConstruct date2(0, 12, 15, 0, 5, 28, 0.9876);
complainIf(date2.getDateTime() != "0000-12-15T00:05:28.99Z");
complainIf(date2.getDateTime(true) != "0000-12-15T00:05:28.99Z");
ATOMDateConstruct date3(2003, 0, 20, 0, 15, 39, 0.9876);
complainIf(date3.getDateTime() != "2003-00-20T00:15:39.99Z");
complainIf(date3.getDateTime(true) != "2003-00-20T00:15:39.99Z");
ATOMDateConstruct date4(0, 0, 20, 0, 27, 41, 0.9876);
complainIf(date4.getDateTime() != "0000-00-20T00:27:41.99Z");
complainIf(date4.getDateTime(true) != "0000-00-20T00:27:41.99Z");
ATOMDateConstruct date5(2003, 12, 15, 0, 36, 0, 0.9876);
complainIf(date5.getDateTime() != "2003-12-15T00:36:00.99Z");
complainIf(date5.getDateTime(true) != "2003-12-15T00:36:00.99Z");
ATOMDateConstruct date6(0, 12, 15, 0, 48, 0, 0.9876);
complainIf(date6.getDateTime() != "0000-12-15T00:48:00.99Z");
complainIf(date6.getDateTime(true) != "0000-12-15T00:48:00.99Z");
ATOMDateConstruct date7(2003, 0, 20, 0, 59, 0, 0.9876);
complainIf(date7.getDateTime() != "2003-00-20T00:59:00.99Z");
complainIf(date7.getDateTime(true) != "2003-00-20T00:59:00.99Z");
ATOMDateConstruct date8(0, 0, 20, 0, 11, 0, 0.9876);
complainIf(date8.getDateTime() != "0000-00-20T00:11:00.99Z");
complainIf(date8.getDateTime(true) != "0000-00-20T00:11:00.99Z");
return true;
}
bool ATOMDateTest16() {
// test sfraction, any seconds, minutes = 0, hours > 0, any date
ATOMDateConstruct date1(2003, 12, 15, 8, 0, 13, 0.2926);
complainIf(date1.getDateTime() != "2003-12-15T08:00:13.29Z");
complainIf(date1.getDateTime(true) != "2003-12-15T08:00:13.29Z");
ATOMDateConstruct date2(0, 12, 15, 8, 0, 1, 0.2926);
complainIf(date2.getDateTime() != "0000-12-15T08:00:01.29Z");
complainIf(date2.getDateTime(true) != "0000-12-15T08:00:01.29Z");
ATOMDateConstruct date3(2003, 0, 20, 8, 0, 20, 0.2926);
complainIf(date3.getDateTime() != "2003-00-20T08:00:20.29Z");
complainIf(date3.getDateTime(true) != "2003-00-20T08:00:20.29Z");
ATOMDateConstruct date4(0, 0, 20, 8, 0, 27, 0.2926);
complainIf(date4.getDateTime() != "0000-00-20T08:00:27.29Z");
complainIf(date4.getDateTime(true) != "0000-00-20T08:00:27.29Z");
ATOMDateConstruct date5(2003, 12, 15, 10, 0, 0, 0.2926);
complainIf(date5.getDateTime() != "2003-12-15T10:00:00.29Z");
complainIf(date5.getDateTime(true) != "2003-12-15T10:00:00.29Z");
ATOMDateConstruct date6(0, 12, 15, 11, 0, 0, 0.2926);
complainIf(date6.getDateTime() != "0000-12-15T11:00:00.29Z");
complainIf(date6.getDateTime(true) != "0000-12-15T11:00:00.29Z");
ATOMDateConstruct date7(2003, 0, 20, 18, 0, 0, 0.2926);
complainIf(date7.getDateTime() != "2003-00-20T18:00:00.29Z");
complainIf(date7.getDateTime(true) != "2003-00-20T18:00:00.29Z");
ATOMDateConstruct date8(0, 0, 20, 23, 0, 0, 0.2926);
complainIf(date8.getDateTime() != "0000-00-20T23:00:00.29Z");
complainIf(date8.getDateTime(true) != "0000-00-20T23:00:00.29Z");
return true;
}
bool ATOMDateTest17() {
// test sfraction, any seconds, minutes = 0, hours = 0, any date
ATOMDateConstruct date1(2003, 12, 15, 0, 0, 17, 0.4895);
complainIf(date1.getDateTime() != "2003-12-15T00:00:17.49Z");
complainIf(date1.getDateTime(true) != "2003-12-15T00:00:17.49Z");
ATOMDateConstruct date2(0, 12, 15, 0, 0, 28, 0.4895);
complainIf(date2.getDateTime() != "0000-12-15T00:00:28.49Z");
complainIf(date2.getDateTime(true) != "0000-12-15T00:00:28.49Z");
ATOMDateConstruct date3(2003, 0, 20, 0, 0, 39, 0.4895);
complainIf(date3.getDateTime() != "2003-00-20T00:00:39.49Z");
complainIf(date3.getDateTime(true) != "2003-00-20T00:00:39.49Z");
ATOMDateConstruct date4(0, 0, 20, 0, 0, 41, 0.4895);
complainIf(date4.getDateTime() != "0000-00-20T00:00:41.49Z");
complainIf(date4.getDateTime(true) != "0000-00-20T00:00:41.49Z");
ATOMDateConstruct date5(2003, 12, 15, 0, 0, 0, 0.4895);
complainIf(date5.getDateTime() != "2003-12-15T00:00:00.49Z");
complainIf(date5.getDateTime(true) != "2003-12-15T00:00:00.49Z");
ATOMDateConstruct date6(0, 12, 15, 0, 0, 0, 0.4895);
complainIf(date6.getDateTime() != "0000-12-15T00:00:00.49Z");
complainIf(date6.getDateTime(true) != "0000-12-15T00:00:00.49Z");
ATOMDateConstruct date7(2003, 0, 20, 0, 0, 0, 0.4895);
complainIf(date7.getDateTime() != "2003-00-20T00:00:00.49Z");
complainIf(date7.getDateTime(true) != "2003-00-20T00:00:00.49Z");
ATOMDateConstruct date8(0, 0, 20, 0, 0, 0, 0.4895);
complainIf(date8.getDateTime() != "0000-00-20T00:00:00.49Z");
complainIf(date8.getDateTime(true) != "0000-00-20T00:00:00.49Z");
ATOMDateConstruct date9(0, 0, 0, 0, 0, 0, 0.4895);
complainIf(date9.getDateTime() != "0000-00-00T00:00:00.49Z");
complainIf(date9.getDateTime(true) != "0000-00-00T00:00:00.49Z");
return true;
}
bool ATOMDateTest18() {
ATOMDateConstruct date1(0, 0, 0, 0, 0, 47, 0.94);
complainIf(date1.getDateTime() != "0000-00-00T00:00:47.94Z");
ATOMDateConstruct date2(0, 0, 0, 0, 0, 47, 0.945001);
complainIf(date2.getDateTime() != "0000-00-00T00:00:47.95Z");
ATOMDateConstruct date3(0, 0, 0, 0, 0, 47, 0.935);
complainIf(date3.getDateTime() != "0000-00-00T00:00:47.94Z");
ATOMDateConstruct date4(0, 0, 0, 0, 0, 47, 0.934);
complainIf(date4.getDateTime() != "0000-00-00T00:00:47.93Z");
ATOMDateConstruct date5(0, 0, 0, 0, 0, 47, 0.936);
complainIf(date5.getDateTime() != "0000-00-00T00:00:47.94Z");
return true;
}
BEGIN_TESTCASE(atomdatetestcase)
TEST_ELEMENT(ATOMDateTest01)
TEST_ELEMENT(ATOMDateTest02)
TEST_ELEMENT(ATOMDateTest03)
TEST_ELEMENT(ATOMDateTest04)
TEST_ELEMENT(ATOMDateTest05)
TEST_ELEMENT(ATOMDateTest06)
TEST_ELEMENT(ATOMDateTest07)
TEST_ELEMENT(ATOMDateTest08)
TEST_ELEMENT(ATOMDateTest09)
TEST_ELEMENT(ATOMDateTest10)
TEST_ELEMENT(ATOMDateTest11)
TEST_ELEMENT(ATOMDateTest12)
TEST_ELEMENT(ATOMDateTest13)
TEST_ELEMENT(ATOMDateTest14)
TEST_ELEMENT(ATOMDateTest15)
TEST_ELEMENT(ATOMDateTest16)
TEST_ELEMENT(ATOMDateTest17)
TEST_ELEMENT(ATOMDateTest18)
END_TESTCASE;

View file

@ -0,0 +1,518 @@
/*
* Copyright (C) 2009-2010 Geometer Plus <contact@geometerplus.com>
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include "Tests.h"
#include "network/atom/ATOMConstructs.h"
#define parseString(str, patt) _parseString(__TOSTRING(__LINE__), str, patt)
void _parseString(std::string lineNum, const std::string &str, std::string patt) {
ATOMDateConstruct date(9999, 99, 99, 99, 99, 99, 0.99, 99, 99);
if (!ATOMDateConstruct::parse(str, date)) {
throw (lineNum + ": can't parse: " + str);
}
if (patt.empty()) {
patt = str;
}
if (date.getDateTime() != patt) {
throw (lineNum + ": failed to parse: " + str + "\n" + date.getDateTime() + " != " + patt);
}
}
bool ATOMDateParseTest01() {
std::string patt = "0000-00-00T00:00:00Z";
parseString("0000-00-00T00:00:00.00+00:00", patt);
parseString("0000-00-00T00:00:00.00-00:00", patt);
parseString("0000-00-00T00:00:00.00Z", patt);
parseString("0000-00-00T00:00:00+00:00", patt);
parseString("0000-00-00T00:00:00-00:00", patt);
parseString("0000-00-00T00:00:00Z", patt);
parseString("0000-00-00T00:00+00:00", patt);
parseString("0000-00-00T00:00-00:00", patt);
parseString("0000-00-00T00:00Z", patt);
parseString("0000-00-00", patt);
parseString("0000-00", patt);
parseString("0000", patt);
return true;
}
bool ATOMDateParseTest02() {
std::string patt = "0000-00-00T00:00:00+00:15";
parseString("0000-00-00T00:00:00.00+00:15", patt);
parseString("0000-00-00T00:00:00+00:15", patt);
parseString("0000-00-00T00:00+00:15", patt);
patt = "0000-00-00T00:00:00+03:15";
parseString("0000-00-00T00:00:00.00+03:15", patt);
parseString("0000-00-00T00:00:00+03:15", patt);
parseString("0000-00-00T00:00+03:15", patt);
patt = "0000-00-00T00:00:00+03:00";
parseString("0000-00-00T00:00:00.00+03:00", patt);
parseString("0000-00-00T00:00:00+03:00", patt);
parseString("0000-00-00T00:00+03:00", patt);
patt = "0000-00-00T00:00:00-00:15";
parseString("0000-00-00T00:00:00.00-00:15", patt);
parseString("0000-00-00T00:00:00-00:15", patt);
parseString("0000-00-00T00:00-00:15", patt);
patt = "0000-00-00T00:00:00-03:15";
parseString("0000-00-00T00:00:00.00-03:15", patt);
parseString("0000-00-00T00:00:00-03:15", patt);
parseString("0000-00-00T00:00-03:15", patt);
patt = "0000-00-00T00:00:00-03:00";
parseString("0000-00-00T00:00:00.00-03:00", patt);
parseString("0000-00-00T00:00:00-03:00", patt);
parseString("0000-00-00T00:00-03:00", patt);
return true;
}
bool ATOMDateParseTest03() {
std::string patt = "0000-00-00T00:00:00.35Z";
parseString("0000-00-00T00:00:00.35+00:00", patt);
parseString("0000-00-00T00:00:00.35-00:00", patt);
parseString("0000-00-00T00:00:00.35Z", patt);
parseString("0000-00-00T00:00:00.351+00:00", patt);
parseString("0000-00-00T00:00:00.351-00:00", patt);
parseString("0000-00-00T00:00:00.351Z", patt);
parseString("0000-00-00T00:00:00.348+00:00", patt);
parseString("0000-00-00T00:00:00.348-00:00", patt);
parseString("0000-00-00T00:00:00.348Z", patt);
parseString("0000-00-00T00:00:00.3510234829873+00:00", patt);
parseString("0000-00-00T00:00:00.3510234829873-00:00", patt);
parseString("0000-00-00T00:00:00.3510234829873Z", patt);
parseString("0000-00-00T00:00:00.3490234829873+00:00", patt);
parseString("0000-00-00T00:00:00.3490234829873-00:00", patt);
parseString("0000-00-00T00:00:00.3490234829873Z", patt);
patt = "0000-00-00T00:00:00.35+01:23";
parseString("0000-00-00T00:00:00.35+01:23", patt);
parseString("0000-00-00T00:00:00.351+01:23", patt);
parseString("0000-00-00T00:00:00.348+01:23", patt);
parseString("0000-00-00T00:00:00.3510234829873+01:23", patt);
parseString("0000-00-00T00:00:00.3490234829873+01:23", patt);
patt = "0000-00-00T00:00:00.35-01:23";
parseString("0000-00-00T00:00:00.35-01:23", patt);
parseString("0000-00-00T00:00:00.351-01:23", patt);
parseString("0000-00-00T00:00:00.348-01:23", patt);
parseString("0000-00-00T00:00:00.3510234829873-01:23", patt);
parseString("0000-00-00T00:00:00.3490234829873-01:23", patt);
return true;
}
bool ATOMDateParseTest04() {
std::string patt = "0000-00-00T00:00:47Z";
parseString("0000-00-00T00:00:47.00+00:00", patt);
parseString("0000-00-00T00:00:47.00-00:00", patt);
parseString("0000-00-00T00:00:47.00Z", patt);
parseString("0000-00-00T00:00:47+00:00", patt);
parseString("0000-00-00T00:00:47-00:00", patt);
parseString("0000-00-00T00:00:47Z", patt);
patt = "0000-00-00T00:00:47.94Z";
parseString("0000-00-00T00:00:47.94+00:00", patt);
parseString("0000-00-00T00:00:47.94-00:00", patt);
parseString("0000-00-00T00:00:47.94Z", patt);
patt = "0000-00-00T00:00:47+01:56";
parseString("0000-00-00T00:00:47.00+01:56", patt);
parseString("0000-00-00T00:00:47+01:56", patt);
patt = "0000-00-00T00:00:47-01:56";
parseString("0000-00-00T00:00:47.00-01:56", patt);
parseString("0000-00-00T00:00:47-01:56", patt);
patt = "0000-00-00T00:00:47.94+01:56";
parseString("0000-00-00T00:00:47.94+01:56", patt);
patt = "0000-00-00T00:00:47.94-01:56";
parseString("0000-00-00T00:00:47.94-01:56", patt);
return true;
}
bool ATOMDateParseTest05() {
std::string patt = "0000-00-00T00:13:00Z";
parseString("0000-00-00T00:13:00.00+00:00", patt);
parseString("0000-00-00T00:13:00.00-00:00", patt);
parseString("0000-00-00T00:13:00.00Z", patt);
parseString("0000-00-00T00:13:00+00:00", patt);
parseString("0000-00-00T00:13:00-00:00", patt);
parseString("0000-00-00T00:13:00Z", patt);
parseString("0000-00-00T00:13+00:00", patt);
parseString("0000-00-00T00:13-00:00", patt);
parseString("0000-00-00T00:13Z", patt);
patt = "0000-00-00T00:13:56Z";
parseString("0000-00-00T00:13:56.00+00:00", patt);
parseString("0000-00-00T00:13:56.00-00:00", patt);
parseString("0000-00-00T00:13:56.00Z", patt);
parseString("0000-00-00T00:13:56+00:00", patt);
parseString("0000-00-00T00:13:56-00:00", patt);
parseString("0000-00-00T00:13:56Z", patt);
patt = "0000-00-00T00:13:00.48Z";
parseString("0000-00-00T00:13:00.48+00:00", patt);
parseString("0000-00-00T00:13:00.48-00:00", patt);
parseString("0000-00-00T00:13:00.48Z", patt);
patt = "0000-00-00T00:13:00+12:34";
parseString("0000-00-00T00:13:00.00+12:34", patt);
parseString("0000-00-00T00:13:00+12:34", patt);
parseString("0000-00-00T00:13+12:34", patt);
patt = "0000-00-00T00:13:00-12:34";
parseString("0000-00-00T00:13:00.00-12:34", patt);
parseString("0000-00-00T00:13:00-12:34", patt);
parseString("0000-00-00T00:13-12:34", patt);
patt = "0000-00-00T00:13:56.48Z";
parseString("0000-00-00T00:13:56.48+00:00", patt);
parseString("0000-00-00T00:13:56.48-00:00", patt);
parseString("0000-00-00T00:13:56.48Z", patt);
patt = "0000-00-00T00:13:56+12:34";
parseString("0000-00-00T00:13:56.00+12:34", patt);
parseString("0000-00-00T00:13:56+12:34", patt);
patt = "0000-00-00T00:13:56-12:34";
parseString("0000-00-00T00:13:56.00-12:34", patt);
parseString("0000-00-00T00:13:56-12:34", patt);
patt = "0000-00-00T00:13:00.48+12:34";
parseString("0000-00-00T00:13:00.48+12:34", patt);
patt = "0000-00-00T00:13:00.48-12:34";
parseString("0000-00-00T00:13:00.48-12:34", patt);
patt = "0000-00-00T00:13:56.48+12:34";
parseString("0000-00-00T00:13:56.48+12:34", patt);
patt = "0000-00-00T00:13:56.48-12:34";
parseString("0000-00-00T00:13:56.48-12:34", patt);
return true;
}
bool ATOMDateParseTest06() {
std::string patt = "0000-00-00T18:00:00Z";
parseString("0000-00-00T18:00:00.00+00:00", patt);
parseString("0000-00-00T18:00:00.00-00:00", patt);
parseString("0000-00-00T18:00:00.00Z", patt);
parseString("0000-00-00T18:00:00+00:00", patt);
parseString("0000-00-00T18:00:00-00:00", patt);
parseString("0000-00-00T18:00:00Z", patt);
parseString("0000-00-00T18:00+00:00", patt);
parseString("0000-00-00T18:00-00:00", patt);
parseString("0000-00-00T18:00Z", patt);
patt = "0000-00-00T18:00:56Z";
parseString("0000-00-00T18:00:56.00+00:00", patt);
parseString("0000-00-00T18:00:56.00-00:00", patt);
parseString("0000-00-00T18:00:56.00Z", patt);
parseString("0000-00-00T18:00:56+00:00", patt);
parseString("0000-00-00T18:00:56-00:00", patt);
parseString("0000-00-00T18:00:56Z", patt);
patt = "0000-00-00T18:00:00.48Z";
parseString("0000-00-00T18:00:00.48+00:00", patt);
parseString("0000-00-00T18:00:00.48-00:00", patt);
parseString("0000-00-00T18:00:00.48Z", patt);
patt = "0000-00-00T18:00:00+12:34";
parseString("0000-00-00T18:00:00.00+12:34", patt);
parseString("0000-00-00T18:00:00+12:34", patt);
parseString("0000-00-00T18:00+12:34", patt);
patt = "0000-00-00T18:00:00-12:34";
parseString("0000-00-00T18:00:00.00-12:34", patt);
parseString("0000-00-00T18:00:00-12:34", patt);
parseString("0000-00-00T18:00-12:34", patt);
patt = "0000-00-00T18:00:56.48Z";
parseString("0000-00-00T18:00:56.48+00:00", patt);
parseString("0000-00-00T18:00:56.48-00:00", patt);
parseString("0000-00-00T18:00:56.48Z", patt);
patt = "0000-00-00T18:00:56+12:34";
parseString("0000-00-00T18:00:56.00+12:34", patt);
parseString("0000-00-00T18:00:56+12:34", patt);
patt = "0000-00-00T18:00:56-12:34";
parseString("0000-00-00T18:00:56.00-12:34", patt);
parseString("0000-00-00T18:00:56-12:34", patt);
patt = "0000-00-00T18:00:00.48+12:34";
parseString("0000-00-00T18:00:00.48+12:34", patt);
patt = "0000-00-00T18:00:00.48-12:34";
parseString("0000-00-00T18:00:00.48-12:34", patt);
patt = "0000-00-00T18:00:56.48+12:34";
parseString("0000-00-00T18:00:56.48+12:34", patt);
patt = "0000-00-00T18:00:56.48-12:34";
parseString("0000-00-00T18:00:56.48-12:34", patt);
return true;
}
bool ATOMDateParseTest07() {
std::string patt = "0000-00-00T18:36:00Z";
parseString("0000-00-00T18:36:00.00+00:00", patt);
parseString("0000-00-00T18:36:00.00-00:00", patt);
parseString("0000-00-00T18:36:00.00Z", patt);
parseString("0000-00-00T18:36:00+00:00", patt);
parseString("0000-00-00T18:36:00-00:00", patt);
parseString("0000-00-00T18:36:00Z", patt);
parseString("0000-00-00T18:36+00:00", patt);
parseString("0000-00-00T18:36-00:00", patt);
parseString("0000-00-00T18:36Z", patt);
patt = "0000-00-00T18:36:56Z";
parseString("0000-00-00T18:36:56.00+00:00", patt);
parseString("0000-00-00T18:36:56.00-00:00", patt);
parseString("0000-00-00T18:36:56.00Z", patt);
parseString("0000-00-00T18:36:56+00:00", patt);
parseString("0000-00-00T18:36:56-00:00", patt);
parseString("0000-00-00T18:36:56Z", patt);
patt = "0000-00-00T18:36:00.48Z";
parseString("0000-00-00T18:36:00.48+00:00", patt);
parseString("0000-00-00T18:36:00.48-00:00", patt);
parseString("0000-00-00T18:36:00.48Z", patt);
patt = "0000-00-00T18:36:00+12:34";
parseString("0000-00-00T18:36:00.00+12:34", patt);
parseString("0000-00-00T18:36:00+12:34", patt);
parseString("0000-00-00T18:36+12:34", patt);
patt = "0000-00-00T18:36:00-12:34";
parseString("0000-00-00T18:36:00.00-12:34", patt);
parseString("0000-00-00T18:36:00-12:34", patt);
parseString("0000-00-00T18:36-12:34", patt);
patt = "0000-00-00T18:36:56.48Z";
parseString("0000-00-00T18:36:56.48+00:00", patt);
parseString("0000-00-00T18:36:56.48-00:00", patt);
parseString("0000-00-00T18:36:56.48Z", patt);
patt = "0000-00-00T18:36:56+12:34";
parseString("0000-00-00T18:36:56.00+12:34", patt);
parseString("0000-00-00T18:36:56+12:34", patt);
patt = "0000-00-00T18:36:56-12:34";
parseString("0000-00-00T18:36:56.00-12:34", patt);
parseString("0000-00-00T18:36:56-12:34", patt);
patt = "0000-00-00T18:36:00.48+12:34";
parseString("0000-00-00T18:36:00.48+12:34", patt);
patt = "0000-00-00T18:36:00.48-12:34";
parseString("0000-00-00T18:36:00.48-12:34", patt);
patt = "0000-00-00T18:36:56.48+12:34";
parseString("0000-00-00T18:36:56.48+12:34", patt);
patt = "0000-00-00T18:36:56.48-12:34";
parseString("0000-00-00T18:36:56.48-12:34", patt);
return true;
}
bool ATOMDateParseTest08() {
std::string patt = "2003-09-18T00:00:00Z";
parseString("2003-09-18T00:00:00.00+00:00", patt);
parseString("2003-09-18T00:00:00.00-00:00", patt);
parseString("2003-09-18T00:00:00.00Z", patt);
parseString("2003-09-18T00:00:00+00:00", patt);
parseString("2003-09-18T00:00:00-00:00", patt);
parseString("2003-09-18T00:00:00Z", patt);
parseString("2003-09-18T00:00+00:00", patt);
parseString("2003-09-18T00:00-00:00", patt);
parseString("2003-09-18T00:00Z", patt);
parseString("2003-09-18", patt);
patt = "2003-09-18T12:45:00Z";
parseString("2003-09-18T12:45:00.00+00:00", patt);
parseString("2003-09-18T12:45:00.00-00:00", patt);
parseString("2003-09-18T12:45:00.00Z", patt);
parseString("2003-09-18T12:45:00+00:00", patt);
parseString("2003-09-18T12:45:00-00:00", patt);
parseString("2003-09-18T12:45:00Z", patt);
parseString("2003-09-18T12:45+00:00", patt);
parseString("2003-09-18T12:45-00:00", patt);
parseString("2003-09-18T12:45Z", patt);
patt = "2003-09-18T00:00:34Z";
parseString("2003-09-18T00:00:34.00+00:00", patt);
parseString("2003-09-18T00:00:34.00-00:00", patt);
parseString("2003-09-18T00:00:34.00Z", patt);
parseString("2003-09-18T00:00:34+00:00", patt);
parseString("2003-09-18T00:00:34-00:00", patt);
parseString("2003-09-18T00:00:34Z", patt);
patt = "2003-09-18T12:45:34Z";
parseString("2003-09-18T12:45:34.00+00:00", patt);
parseString("2003-09-18T12:45:34.00-00:00", patt);
parseString("2003-09-18T12:45:34.00Z", patt);
parseString("2003-09-18T12:45:34+00:00", patt);
parseString("2003-09-18T12:45:34-00:00", patt);
parseString("2003-09-18T12:45:34Z", patt);
patt = "2003-09-18T00:00:00.93Z";
parseString("2003-09-18T00:00:00.93+00:00", patt);
parseString("2003-09-18T00:00:00.93-00:00", patt);
parseString("2003-09-18T00:00:00.93Z", patt);
patt = "2003-09-18T12:45:00.93Z";
parseString("2003-09-18T12:45:00.93+00:00", patt);
parseString("2003-09-18T12:45:00.93-00:00", patt);
parseString("2003-09-18T12:45:00.93Z", patt);
patt = "2003-09-18T00:00:34.93Z";
parseString("2003-09-18T00:00:34.93+00:00", patt);
parseString("2003-09-18T00:00:34.93-00:00", patt);
parseString("2003-09-18T00:00:34.93Z", patt);
patt = "2003-09-18T12:45:34.93Z";
parseString("2003-09-18T12:45:34.93+00:00", patt);
parseString("2003-09-18T12:45:34.93-00:00", patt);
parseString("2003-09-18T12:45:34.93Z", patt);
patt = "2003-09-18T00:00:00+12:34";
parseString("2003-09-18T00:00:00.00+12:34", patt);
parseString("2003-09-18T00:00:00+12:34", patt);
parseString("2003-09-18T00:00+12:34", patt);
patt = "2003-09-18T12:45:00+12:34";
parseString("2003-09-18T12:45:00.00+12:34", patt);
parseString("2003-09-18T12:45:00+12:34", patt);
parseString("2003-09-18T12:45+12:34", patt);
patt = "2003-09-18T00:00:34+12:34";
parseString("2003-09-18T00:00:34.00+12:34", patt);
parseString("2003-09-18T00:00:34+12:34", patt);
patt = "2003-09-18T12:45:34+12:34";
parseString("2003-09-18T12:45:34.00+12:34", patt);
parseString("2003-09-18T12:45:34+12:34", patt);
patt = "2003-09-18T00:00:00.93+12:34";
parseString("2003-09-18T00:00:00.93+12:34", patt);
patt = "2003-09-18T12:45:00.93+12:34";
parseString("2003-09-18T12:45:00.93+12:34", patt);
patt = "2003-09-18T00:00:34.93+12:34";
parseString("2003-09-18T00:00:34.93+12:34", patt);
patt = "2003-09-18T12:45:34.93+12:34";
parseString("2003-09-18T12:45:34.93+12:34", patt);
patt = "2003-09-18T00:00:00-12:34";
parseString("2003-09-18T00:00:00.00-12:34", patt);
parseString("2003-09-18T00:00:00-12:34", patt);
parseString("2003-09-18T00:00-12:34", patt);
patt = "2003-09-18T12:45:00-12:34";
parseString("2003-09-18T12:45:00.00-12:34", patt);
parseString("2003-09-18T12:45:00-12:34", patt);
parseString("2003-09-18T12:45-12:34", patt);
patt = "2003-09-18T00:00:34-12:34";
parseString("2003-09-18T00:00:34.00-12:34", patt);
parseString("2003-09-18T00:00:34-12:34", patt);
patt = "2003-09-18T12:45:34-12:34";
parseString("2003-09-18T12:45:34.00-12:34", patt);
parseString("2003-09-18T12:45:34-12:34", patt);
patt = "2003-09-18T00:00:00.93-12:34";
parseString("2003-09-18T00:00:00.93-12:34", patt);
patt = "2003-09-18T12:45:00.93-12:34";
parseString("2003-09-18T12:45:00.93-12:34", patt);
patt = "2003-09-18T00:00:34.93-12:34";
parseString("2003-09-18T00:00:34.93-12:34", patt);
patt = "2003-09-18T12:45:34.93-12:34";
parseString("2003-09-18T12:45:34.93-12:34", patt);
return true;
}
bool ATOMDateParseTest09() {
std::string patt = "2009-12-00T00:00:00Z";
parseString("2009-12-00T00:00:00.00+00:00", patt);
parseString("2009-12-00T00:00:00.00-00:00", patt);
parseString("2009-12-00T00:00:00.00Z", patt);
parseString("2009-12-00T00:00:00+00:00", patt);
parseString("2009-12-00T00:00:00-00:00", patt);
parseString("2009-12-00T00:00:00Z", patt);
parseString("2009-12-00T00:00+00:00", patt);
parseString("2009-12-00T00:00-00:00", patt);
parseString("2009-12-00T00:00Z", patt);
parseString("2009-12-00", patt);
parseString("2009-12", patt);
return true;
}
bool ATOMDateParseTest10() {
std::string patt = "2007-00-00T00:00:00Z";
parseString("2007-00-00T00:00:00.00+00:00", patt);
parseString("2007-00-00T00:00:00.00-00:00", patt);
parseString("2007-00-00T00:00:00.00Z", patt);
parseString("2007-00-00T00:00:00+00:00", patt);
parseString("2007-00-00T00:00:00-00:00", patt);
parseString("2007-00-00T00:00:00Z", patt);
parseString("2007-00-00T00:00+00:00", patt);
parseString("2007-00-00T00:00-00:00", patt);
parseString("2007-00-00T00:00Z", patt);
parseString("2007-00-00", patt);
parseString("2007-00", patt);
parseString("2007", patt);
return true;
}
BEGIN_TESTCASE(atomdateparsetestcase)
TEST_ELEMENT(ATOMDateParseTest01)
TEST_ELEMENT(ATOMDateParseTest02)
TEST_ELEMENT(ATOMDateParseTest03)
TEST_ELEMENT(ATOMDateParseTest04)
TEST_ELEMENT(ATOMDateParseTest05)
TEST_ELEMENT(ATOMDateParseTest06)
TEST_ELEMENT(ATOMDateParseTest07)
TEST_ELEMENT(ATOMDateParseTest08)
TEST_ELEMENT(ATOMDateParseTest09)
TEST_ELEMENT(ATOMDateParseTest10)
END_TESTCASE;

View file

@ -0,0 +1,270 @@
/*
* Copyright (C) 2009-2010 Geometer Plus <contact@geometerplus.com>
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include "Tests.h"
#include "network/atom/ATOMConstructs.h"
bool ATOMDateTestTZ01() {
// test years
ATOMDateConstruct date1(0, 0, 0, 0, 0, 0, 0, 2, 20);
complainIf(date1.getDateTime() != "0000-00-00T00:00:00+02:20");
complainIf(date1.getDateTime(true) != "0000-00-00T00:00+02:20");
ATOMDateConstruct date2(1990, 0, 0, 0, 0, 0, 0, 0, 50);
complainIf(date2.getDateTime() != "1990-00-00T00:00:00+00:50");
complainIf(date2.getDateTime(true) != "1990-00-00T00:00+00:50");
ATOMDateConstruct date3(1990, 0, 0, 0, 0, 0, 0, 3, 0);
complainIf(date3.getDateTime() != "1990-00-00T00:00:00+03:00");
complainIf(date3.getDateTime(true) != "1990-00-00T00:00+03:00");
ATOMDateConstruct date4(0, 0, 0, 0, 0, 0, 0, -2, -20);
complainIf(date4.getDateTime() != "0000-00-00T00:00:00-02:20");
complainIf(date4.getDateTime(true) != "0000-00-00T00:00-02:20");
ATOMDateConstruct date5(0, 0, 0, 0, 0, 0, 0, -2, 20);
complainIf(date5.getDateTime() != "0000-00-00T00:00:00-01:40");
complainIf(date5.getDateTime(true) != "0000-00-00T00:00-01:40");
ATOMDateConstruct date6(1990, 0, 0, 0, 0, 0, 0, -3, 0);
complainIf(date6.getDateTime() != "1990-00-00T00:00:00-03:00");
complainIf(date6.getDateTime(true) != "1990-00-00T00:00-03:00");
ATOMDateConstruct date7(1990, 0, 0, 0, 0, 0, 0, 1, -50);
complainIf(date7.getDateTime() != "1990-00-00T00:00:00+00:10");
complainIf(date7.getDateTime(true) != "1990-00-00T00:00+00:10");
ATOMDateConstruct date8(1990, 0, 0, 0, 0, 0, 0, 0, -20);
complainIf(date8.getDateTime() != "1990-00-00T00:00:00-00:20");
complainIf(date8.getDateTime(true) != "1990-00-00T00:00-00:20");
return true;
}
bool ATOMDateTestTZ02() {
// test month, any year
ATOMDateConstruct date1(1990, 5, 0, 0, 0, 0, 0, 5, 20);
complainIf(date1.getDateTime() != "1990-05-00T00:00:00+05:20");
complainIf(date1.getDateTime(true) != "1990-05-00T00:00+05:20");
ATOMDateConstruct date2(1997, 11, 0, 0, 0, 0, 0, 2, 0);
complainIf(date2.getDateTime() != "1997-11-00T00:00:00+02:00");
complainIf(date2.getDateTime(true) != "1997-11-00T00:00+02:00");
ATOMDateConstruct date3(0, 5, 0, 0, 0, 0, 0, 1, 50);
complainIf(date3.getDateTime() != "0000-05-00T00:00:00+01:50");
complainIf(date3.getDateTime(true) != "0000-05-00T00:00+01:50");
return true;
}
bool ATOMDateTestTZ03() {
// test hours, any date
ATOMDateConstruct date6(2003, 12, 15, 10, 0, 0, 0, 1, 0);
complainIf(date6.getDateTime() != "2003-12-15T10:00:00+01:00");
complainIf(date6.getDateTime(true) != "2003-12-15T10:00+01:00");
ATOMDateConstruct date7(0, 12, 15, 11, 0, 0, 0, 3, 30);
complainIf(date7.getDateTime() != "0000-12-15T11:00:00+03:30");
complainIf(date7.getDateTime(true) != "0000-12-15T11:00+03:30");
ATOMDateConstruct date8(2003, 0, 20, 18, 0, 0, 0, 2, 40);
complainIf(date8.getDateTime() != "2003-00-20T18:00:00+02:40");
complainIf(date8.getDateTime(true) != "2003-00-20T18:00+02:40");
ATOMDateConstruct date9(0, 0, 20, 23, 0, 0, 0, -1, -40);
complainIf(date9.getDateTime() != "0000-00-20T23:00:00-01:40");
complainIf(date9.getDateTime(true) != "0000-00-20T23:00-01:40");
ATOMDateConstruct date0(0, 0, 0, 16, 0, 0, 0, -3, 0);
complainIf(date0.getDateTime() != "0000-00-00T16:00:00-03:00");
complainIf(date0.getDateTime(true) != "0000-00-00T16:00-03:00");
return true;
}
bool ATOMDateTestTZ04() {
// test minutes, hours > 0, any date
ATOMDateConstruct date1(2003, 12, 15, 8, 1, 0, 0, 1, 20);
complainIf(date1.getDateTime() != "2003-12-15T08:01:00+01:20");
complainIf(date1.getDateTime(true) != "2003-12-15T08:01+01:20");
ATOMDateConstruct date2(0, 12, 15, 8, 5, 0, 0, -1, -20);
complainIf(date2.getDateTime() != "0000-12-15T08:05:00-01:20");
complainIf(date2.getDateTime(true) != "0000-12-15T08:05-01:20");
ATOMDateConstruct date3(2003, 0, 20, 8, 15, 0, 0, 1, 20);
complainIf(date3.getDateTime() != "2003-00-20T08:15:00+01:20");
complainIf(date3.getDateTime(true) != "2003-00-20T08:15+01:20");
ATOMDateConstruct date4(0, 0, 20, 8, 27, 0, 0, -2, 20);
complainIf(date4.getDateTime() != "0000-00-20T08:27:00-01:40");
complainIf(date4.getDateTime(true) != "0000-00-20T08:27-01:40");
ATOMDateConstruct date5(0, 0, 0, 8, 27, 0, 0, 1, 20);
complainIf(date5.getDateTime() != "0000-00-00T08:27:00+01:20");
complainIf(date5.getDateTime(true) != "0000-00-00T08:27+01:20");
ATOMDateConstruct date6(2003, 12, 15, 0, 1, 0, 0, 1, 20);
complainIf(date6.getDateTime() != "2003-12-15T00:01:00+01:20");
complainIf(date6.getDateTime(true) != "2003-12-15T00:01+01:20");
ATOMDateConstruct date7(0, 12, 15, 0, 5, 0, 0, 1, 20);
complainIf(date7.getDateTime() != "0000-12-15T00:05:00+01:20");
complainIf(date7.getDateTime(true) != "0000-12-15T00:05+01:20");
ATOMDateConstruct date8(2003, 0, 20, 0, 15, 0, 0, 1, 20);
complainIf(date8.getDateTime() != "2003-00-20T00:15:00+01:20");
complainIf(date8.getDateTime(true) != "2003-00-20T00:15+01:20");
ATOMDateConstruct date9(0, 0, 20, 0, 27, 0, 0, 1, 20);
complainIf(date9.getDateTime() != "0000-00-20T00:27:00+01:20");
complainIf(date9.getDateTime(true) != "0000-00-20T00:27+01:20");
ATOMDateConstruct date0(0, 0, 0, 0, 27, 0, 0, 1, 20);
complainIf(date0.getDateTime() != "0000-00-00T00:27:00+01:20");
complainIf(date0.getDateTime(true) != "0000-00-00T00:27+01:20");
return true;
}
bool ATOMDateTestTZ05() {
// test seconds, minutes > 0, hours > 0, any date
ATOMDateConstruct date1(2003, 12, 15, 8, 1, 13, 0, 3, 20);
complainIf(date1.getDateTime() != "2003-12-15T08:01:13+03:20");
complainIf(date1.getDateTime(true) != "2003-12-15T08:01:13+03:20");
ATOMDateConstruct date2(0, 12, 15, 8, 5, 1, 0, 3, 20);
complainIf(date2.getDateTime() != "0000-12-15T08:05:01+03:20");
complainIf(date2.getDateTime(true) != "0000-12-15T08:05:01+03:20");
ATOMDateConstruct date3(2003, 0, 20, 8, 15, 20, 0, 3, 20);
complainIf(date3.getDateTime() != "2003-00-20T08:15:20+03:20");
complainIf(date3.getDateTime(true) != "2003-00-20T08:15:20+03:20");
ATOMDateConstruct date4(0, 0, 20, 8, 27, 27, 0, 3, 20);
complainIf(date4.getDateTime() != "0000-00-20T08:27:27+03:20");
complainIf(date4.getDateTime(true) != "0000-00-20T08:27:27+03:20");
ATOMDateConstruct date5(2003, 12, 15, 0, 1, 17, 0, 3, 20);
complainIf(date5.getDateTime() != "2003-12-15T00:01:17+03:20");
complainIf(date5.getDateTime(true) != "2003-12-15T00:01:17+03:20");
ATOMDateConstruct date6(0, 12, 15, 0, 5, 28, 0, 3, 20);
complainIf(date6.getDateTime() != "0000-12-15T00:05:28+03:20");
complainIf(date6.getDateTime(true) != "0000-12-15T00:05:28+03:20");
ATOMDateConstruct date7(2003, 0, 20, 0, 15, 39, 0, 3, 20);
complainIf(date7.getDateTime() != "2003-00-20T00:15:39+03:20");
complainIf(date7.getDateTime(true) != "2003-00-20T00:15:39+03:20");
ATOMDateConstruct date8(0, 0, 20, 0, 27, 41, 0, 3, 20);
complainIf(date8.getDateTime() != "0000-00-20T00:27:41+03:20");
complainIf(date8.getDateTime(true) != "0000-00-20T00:27:41+03:20");
ATOMDateConstruct date9(2003, 12, 15, 8, 0, 13, 0, 3, 20);
complainIf(date9.getDateTime() != "2003-12-15T08:00:13+03:20");
complainIf(date9.getDateTime(true) != "2003-12-15T08:00:13+03:20");
ATOMDateConstruct date0(0, 12, 15, 8, 0, 1, 0, 3, 20);
complainIf(date0.getDateTime() != "0000-12-15T08:00:01+03:20");
complainIf(date0.getDateTime(true) != "0000-12-15T08:00:01+03:20");
ATOMDateConstruct dateA(2003, 0, 20, 8, 0, 20, 0, 3, 20);
complainIf(dateA.getDateTime() != "2003-00-20T08:00:20+03:20");
complainIf(dateA.getDateTime(true) != "2003-00-20T08:00:20+03:20");
ATOMDateConstruct dateB(0, 0, 20, 8, 0, 27, 0, 3, 20);
complainIf(dateB.getDateTime() != "0000-00-20T08:00:27+03:20");
complainIf(dateB.getDateTime(true) != "0000-00-20T08:00:27+03:20");
ATOMDateConstruct dateC(2003, 12, 15, 0, 0, 17, 0, 3, 20);
complainIf(dateC.getDateTime() != "2003-12-15T00:00:17+03:20");
complainIf(dateC.getDateTime(true) != "2003-12-15T00:00:17+03:20");
ATOMDateConstruct dateD(0, 12, 15, 0, 0, 28, 0, 3, 20);
complainIf(dateD.getDateTime() != "0000-12-15T00:00:28+03:20");
complainIf(dateD.getDateTime(true) != "0000-12-15T00:00:28+03:20");
ATOMDateConstruct dateE(2003, 0, 20, 0, 0, 39, 0, 3, 20);
complainIf(dateE.getDateTime() != "2003-00-20T00:00:39+03:20");
complainIf(dateE.getDateTime(true) != "2003-00-20T00:00:39+03:20");
ATOMDateConstruct dateF(0, 0, 20, 0, 0, 41, 0, 3, 20);
complainIf(dateF.getDateTime() != "0000-00-20T00:00:41+03:20");
complainIf(dateF.getDateTime(true) != "0000-00-20T00:00:41+03:20");
ATOMDateConstruct dateG(0, 0, 0, 0, 0, 9, 0, 3, 20);
complainIf(dateG.getDateTime() != "0000-00-00T00:00:09+03:20");
complainIf(dateG.getDateTime(true) != "0000-00-00T00:00:09+03:20");
return true;
}
bool ATOMDateTestTZ06() {
// test sfraction, any seconds, minutes > 0, hours > 0, any date
ATOMDateConstruct date1(2003, 12, 15, 8, 1, 13, 0.1234, 8, 45);
complainIf(date1.getDateTime() != "2003-12-15T08:01:13.12+08:45");
complainIf(date1.getDateTime(true) != "2003-12-15T08:01:13.12+08:45");
ATOMDateConstruct date2(0, 12, 15, 8, 5, 1, 0.1234, 8, 45);
complainIf(date2.getDateTime() != "0000-12-15T08:05:01.12+08:45");
complainIf(date2.getDateTime(true) != "0000-12-15T08:05:01.12+08:45");
ATOMDateConstruct date3(2003, 0, 20, 8, 15, 20, 0.1234, 8, 45);
complainIf(date3.getDateTime() != "2003-00-20T08:15:20.12+08:45");
complainIf(date3.getDateTime(true) != "2003-00-20T08:15:20.12+08:45");
ATOMDateConstruct date4(0, 0, 20, 8, 27, 27, 0.1234, 8, 45);
complainIf(date4.getDateTime() != "0000-00-20T08:27:27.12+08:45");
complainIf(date4.getDateTime(true) != "0000-00-20T08:27:27.12+08:45");
ATOMDateConstruct date5(0, 0, 0, 23, 11, 0, 0.1234, 8, 45);
complainIf(date5.getDateTime() != "0000-00-00T23:11:00.12+08:45");
complainIf(date5.getDateTime(true) != "0000-00-00T23:11:00.12+08:45");
// test sfraction, any seconds, minutes > 0, hours = 0, any date
ATOMDateConstruct date6(2003, 12, 15, 0, 1, 17, 0.9876, 8, 45);
complainIf(date6.getDateTime() != "2003-12-15T00:01:17.99+08:45");
complainIf(date6.getDateTime(true) != "2003-12-15T00:01:17.99+08:45");
ATOMDateConstruct date7(0, 12, 15, 0, 5, 28, 0.9876, 8, 45);
complainIf(date7.getDateTime() != "0000-12-15T00:05:28.99+08:45");
complainIf(date7.getDateTime(true) != "0000-12-15T00:05:28.99+08:45");
ATOMDateConstruct date8(2003, 0, 20, 0, 15, 39, 0.9876, 8, 45);
complainIf(date8.getDateTime() != "2003-00-20T00:15:39.99+08:45");
complainIf(date8.getDateTime(true) != "2003-00-20T00:15:39.99+08:45");
ATOMDateConstruct date9(0, 0, 20, 0, 27, 41, 0.9876, 8, 45);
complainIf(date9.getDateTime() != "0000-00-20T00:27:41.99+08:45");
complainIf(date9.getDateTime(true) != "0000-00-20T00:27:41.99+08:45");
ATOMDateConstruct date0(0, 0, 0, 0, 11, 0, 0.9876, 8, 45);
complainIf(date0.getDateTime() != "0000-00-00T00:11:00.99+08:45");
complainIf(date0.getDateTime(true) != "0000-00-00T00:11:00.99+08:45");
return true;
}
bool ATOMDateTestTZ07() {
// test sfraction, any seconds, minutes = 0, hours > 0, any date
ATOMDateConstruct date1(2003, 12, 15, 8, 0, 13, 0.2926, 8, 45);
complainIf(date1.getDateTime() != "2003-12-15T08:00:13.29+08:45");
complainIf(date1.getDateTime(true) != "2003-12-15T08:00:13.29+08:45");
ATOMDateConstruct date2(0, 12, 15, 8, 0, 1, 0.2926, 8, 45);
complainIf(date2.getDateTime() != "0000-12-15T08:00:01.29+08:45");
complainIf(date2.getDateTime(true) != "0000-12-15T08:00:01.29+08:45");
ATOMDateConstruct date3(2003, 0, 20, 8, 0, 20, 0.2926, 8, 45);
complainIf(date3.getDateTime() != "2003-00-20T08:00:20.29+08:45");
complainIf(date3.getDateTime(true) != "2003-00-20T08:00:20.29+08:45");
ATOMDateConstruct date4(0, 0, 20, 8, 0, 27, 0.2926, 8, 45);
complainIf(date4.getDateTime() != "0000-00-20T08:00:27.29+08:45");
complainIf(date4.getDateTime(true) != "0000-00-20T08:00:27.29+08:45");
ATOMDateConstruct date5(0, 0, 0, 23, 0, 0, 0.2926, 8, 45);
complainIf(date5.getDateTime() != "0000-00-00T23:00:00.29+08:45");
complainIf(date5.getDateTime(true) != "0000-00-00T23:00:00.29+08:45");
// test sfraction, any seconds, minutes = 0, hours = 0, any date
ATOMDateConstruct date6(2003, 12, 15, 0, 0, 17, 0.4895, 8, 45);
complainIf(date6.getDateTime() != "2003-12-15T00:00:17.49+08:45");
complainIf(date6.getDateTime(true) != "2003-12-15T00:00:17.49+08:45");
ATOMDateConstruct date7(0, 12, 15, 0, 0, 28, 0.4895, 8, 45);
complainIf(date7.getDateTime() != "0000-12-15T00:00:28.49+08:45");
complainIf(date7.getDateTime(true) != "0000-12-15T00:00:28.49+08:45");
ATOMDateConstruct date8(2003, 0, 20, 0, 0, 39, 0.4895, 8, 45);
complainIf(date8.getDateTime() != "2003-00-20T00:00:39.49+08:45");
complainIf(date8.getDateTime(true) != "2003-00-20T00:00:39.49+08:45");
ATOMDateConstruct date9(0, 0, 20, 0, 0, 41, 0.4895, 8, 45);
complainIf(date9.getDateTime() != "0000-00-20T00:00:41.49+08:45");
complainIf(date9.getDateTime(true) != "0000-00-20T00:00:41.49+08:45");
ATOMDateConstruct date0(0, 0, 20, 0, 0, 0, 0.4895, 8, 45);
complainIf(date0.getDateTime() != "0000-00-20T00:00:00.49+08:45");
complainIf(date0.getDateTime(true) != "0000-00-20T00:00:00.49+08:45");
ATOMDateConstruct dateA(0, 0, 0, 0, 0, 0, 0.4895, 8, 45);
complainIf(dateA.getDateTime() != "0000-00-00T00:00:00.49+08:45");
complainIf(dateA.getDateTime(true) != "0000-00-00T00:00:00.49+08:45");
return true;
}
BEGIN_TESTCASE(atomdatetztestcase)
TEST_ELEMENT(ATOMDateTestTZ01)
TEST_ELEMENT(ATOMDateTestTZ02)
TEST_ELEMENT(ATOMDateTestTZ03)
TEST_ELEMENT(ATOMDateTestTZ04)
TEST_ELEMENT(ATOMDateTestTZ05)
TEST_ELEMENT(ATOMDateTestTZ06)
TEST_ELEMENT(ATOMDateTestTZ07)
END_TESTCASE;

View file

@ -0,0 +1,59 @@
/*
* Copyright (C) 2009-2010 Geometer Plus <contact@geometerplus.com>
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __TESTS_H__
#define __TESTS_H__
#include <iostream>
#include <vector>
#include <string>
/*
* TestFun returns:
* true - if test passed;
* false - if test failed.
*/
typedef bool (*TestFun)();
struct TestElement {
TestFun fun;
const char *name;
};
#define DECLARE_TESTCASE(name) \
extern TestElement name[]
#define BEGIN_TESTCASE(name) \
TestElement name[] = {
#define TEST_ELEMENT(name) \
{name, #name},
#define END_TESTCASE \
{0, 0} \
}
#define __STRINGIFY(X) #X
#define __TOSTRING(X) __STRINGIFY(X)
#define complainIf(exp) if (exp) throw __FILE__ ":" __TOSTRING(__LINE__) ": " #exp
#endif /* __TESTS_H__ */

View file

@ -0,0 +1 @@
../../fbreader/src/constants

View file

@ -0,0 +1,183 @@
/*
* Copyright (C) 2009-2010 Geometer Plus <contact@geometerplus.com>
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include "Tests.h"
DECLARE_TESTCASE(atomdatetestcase);
DECLARE_TESTCASE(atomdatetztestcase);
DECLARE_TESTCASE(atomdateparsetestcase);
TestElement *testsarray[] = {
atomdatetestcase,
atomdatetztestcase,
atomdateparsetestcase,
0
};
static const std::string TESTSINIT_MASK = "*TestsInit";
bool compareMask(const std::string &str, const std::string &mask) {
unsigned pos = mask.find_first_of(".*");
if (pos == std::string::npos) {
return str.compare(mask) == 0;
}
if (pos != 0 && str.substr(0, pos).compare( mask.substr(0, pos) ) != 0) {
return false;
}
const char mch = mask[pos];
const std::string newmask = mask.substr(pos + 1);
if (mch == '.') {
if (str.length() <= pos) {
return false;
}
return compareMask(str.substr(pos + 1), newmask);
} else { // mch == '*'
if (newmask.length() == 0) {
return true;
}
for (unsigned i = pos; i < str.size(); ++i) {
const bool res = compareMask(str.substr(i), newmask);
if (res) {
return true;
}
}
return false;
}
}
bool startFun(TestFun fun, std::string &message) {
bool res = true;
try {
res = fun();
} catch (const char *ex) {
message = ex;
res = false;
} catch (std::string &ex) {
message = ex;
res = false;
}
return res;
}
bool runTest(TestElement *test) {
std::cout << "RUNNING: " << test->name << " ... ";
std::cout.flush();
std::string msg;
bool res = startFun(test->fun, msg);
if (res) {
std::cout << "OK" << std::endl;
} else {
std::cout << "FAILED";
if (msg.length() > 0) {
std::cout << ": " << msg;
}
std::cout << std::endl;
return false;
}
return true;
}
bool runInit(TestElement *init) {
std::cout << "INITIALIZATION: " << init->name << " ... ";
std::cout.flush();
std::string msg;
bool res = startFun(init->fun, msg);
if (res) {
std::cout << "DONE" << std::endl;
} else {
std::cout << "FAILED";
if (msg.length() > 0) {
std::cout << ": " << msg;
}
std::cout << std::endl;
return false;
}
return true;
}
int main(int argc, char **argv) {
std::vector<std::string> args;
args.assign(argv + 1, argv + argc);
TestElement **p = testsarray;
bool alltests = true;
if (argc > 1) {
alltests = false;
}
int status = 0;
while (*p != 0) {
TestElement *el = *p++;
bool initres = true;
TestElement *initel = el;
while (initel->fun != 0) {
if (compareMask(initel->name, TESTSINIT_MASK)) {
initres = runInit(initel);
break;
}
++initel;
}
if (!initres) {
continue;
}
while (el->fun != 0) {
TestElement *curr = el++;
if (curr == initel) {
continue;
}
bool canrun = alltests;
if (!alltests) {
std::string testname(curr->name);
for (unsigned i = 0; i < args.size(); ++i) {
if (compareMask(testname, args[i])) {
canrun = true;
break;
}
}
}
if (!canrun) {
continue;
}
if (!runTest(curr)) {
status = 1;
}
}
}
return status;
}

View file

@ -0,0 +1 @@
../../fbreader/src/network

View file

@ -0,0 +1,155 @@
#! /bin/bash
version=`cat fbreader/VERSION`
tmpdir=fbreader-$version
if [ "$1" == "-non-GPL" ]; then
distdir=distributions-nonGPL
pkgdir=packages-nonGPL
prepare_nonGPL=true
shift;
else
distdir=distributions
pkgdir=packages
prepare_nonGPL=false
fi
if [ $# -lt 1 ]; then
echo "usage:"
echo " $0 [-non-GPL] <architecture>"
echo "or"
echo " $0 [-non-GPL] all"
echo "or"
echo " $0 [-non-GPL] supported"
echo ""
echo "available architectures are:"
for pkgtype in $distdir/*; do
for archtype in $pkgtype/*; do
echo " `basename $archtype`-`basename $pkgtype`";
done;
done;
exit 1;
fi
create_tmpdir() {
mkdir $tmpdir
cp -r Makefile build_packages.sh zlibrary fbreader makefiles README.build CHANGES* distributions distributions-nonGPL ChangeLog $tmpdir
rm -rf `find $tmpdir -name ".svn"`
make -C $tmpdir distclean 1> /dev/null 2>&1
if [ "$prepare_nonGPL" == "true" ]; then
pushd $tmpdir > /dev/null;
echo -en "Removing Arabic localization... ";
rm -rf fbreader/data/resources/ar.xml zlibrary/core/data/resources/ar.xml fbreader/data/help/MiniHelp.*.ar.fb2;
echo OK;
echo -en "Removing Finnish localization... ";
rm -rf fbreader/data/resources/fi.xml zlibrary/core/data/resources/fi.xml fbreader/data/help/MiniHelp.*.fi.fb2;
echo OK;
echo -en "Removing Swedish localization... ";
rm -rf fbreader/data/resources/sv.xml zlibrary/core/data/resources/sv.xml fbreader/data/help/MiniHelp.*.sv.fb2;
echo OK;
echo -en "Removing German localization... ";
rm -rf fbreader/data/resources/de.xml zlibrary/core/data/resources/de.xml fbreader/data/help/MiniHelp.*.de.fb2;
echo OK;
echo -en "Removing Czech hyphenation patterns... ";
zip -dq zlibrary/text/data/hyphenationPatterns.zip cs.pattern;
echo OK;
echo -en "Removing Indonesian hyphenation patterns... ";
zip -dq zlibrary/text/data/hyphenationPatterns.zip id.pattern;
echo OK;
echo -en "Removing Qt-based interface... ";
rm -rf zlibrary/ui/src/opie zlibrary/ui/src/qtopia zlibrary/ui/src/qt zlibrary/ui/src/qt4
echo OK;
popd > /dev/null;
fi;
}
remove_tmpdir() {
rm -rf $tmpdir
}
build_package() {
make_package="make -f makefiles/packaging.mk -C $tmpdir DIST_DIR=$distdir"
case "$2" in
debian)
case "$1" in
maemo)
/scratchbox/login sb-conf se SDK_ARM
/scratchbox/login -d `pwd` $make_package ARCHITECTURE=$1 $2
;;
maemo2|maemo3)
/scratchbox/login sb-conf se SDK_ARMEL
/scratchbox/login -d `pwd` $make_package ARCHITECTURE=$1 $2
;;
maemo4)
/scratchbox/login sb-conf se CHINOOK_ARMEL
/scratchbox/login -d `pwd` $make_package ARCHITECTURE=$1 $2
;;
maemo5)
/scratchbox/login sb-conf se FREMANTLE_ARMEL
/scratchbox/login -d `pwd` $make_package ARCHITECTURE=$1 $2
;;
*)
$make_package ARCHITECTURE=$1 $2
;;
esac;
mkdir -p $pkgdir/$1
mv -f $tmpdir/*.deb $tmpdir/*.dsc $tmpdir/*.changes $tmpdir/*.tar.gz $pkgdir/$1
;;
ipk|debipk)
$make_package ARCHITECTURE=$1 $2
mkdir -p $pkgdir/$1
mv -f $tmpdir/*.ipk $pkgdir/$1
;;
motopkg)
$make_package ARCHITECTURE=$1 $2
mkdir -p $pkgdir/$1
mv -f $tmpdir/*.pkg $pkgdir/$1
;;
tarball)
$make_package ARCHITECTURE=$1 $2
mkdir -p $pkgdir/$1
mv -f $tmpdir/*.tgz $pkgdir/$1
;;
nsi)
$make_package ARCHITECTURE=$1 $2
mkdir -p $pkgdir/$1
mv -f $tmpdir/*.exe $pkgdir/$1
;;
*)
echo no rule is defined for package type ''$2'';
;;
esac;
}
if [ $1 == all ]; then
create_tmpdir
for pkgtype in $distdir/*; do
for archtype in $pkgtype/*; do
build_package `basename $archtype` `basename $pkgtype`;
done;
done;
remove_tmpdir
elif [ $1 == supported ]; then
create_tmpdir
build_package desktop debian
build_package win32 nsi
build_package source tarball
remove_tmpdir
else
while [ $# -gt 0 ] ; do
archtype=`echo $1 | cut -d "-" -f 1`;
pkgtype=`echo $1 | cut -d "-" -f 2`;
extra=`echo $1 | cut -d "-" -f 3`;
if [ "$pkgtype" != "" -a "$extra" == "" -a -d $distdir/$pkgtype/$archtype ]; then
create_tmpdir
build_package $archtype $pkgtype
remove_tmpdir
else
echo "unknown architecture: $1"
fi;
shift;
done;
fi;

View file

@ -0,0 +1,322 @@
fbreader (0.14.20100422-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 22 Apr 2010 13:49:00 +0400
fbreader (0.12.10-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 1 Apr 2010 13:48:00 +0400
fbreader (0.12.9-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 25 Mar 2010 02:33:00 +0300
fbreader (0.12.8-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 22 Mar 2010 21:42:00 +0300
fbreader (0.12.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 5 Mar 2010 00:39:00 +0300
fbreader (0.12.6-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 2 Mar 2010 20:53:00 +0300
fbreader (0.12.5-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 21 Feb 2010 16:20:00 +0300
fbreader (0.12.2-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 29 Jan 2010 19:53:00 +0300
fbreader (0.12.1-2) stable; urgency=low
* cosmetical fixes
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 13 Dec 2009 11:41:00 +0300
fbreader (0.12.1-1) stable; urgency=low
* new upstream version
* updated man page
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 13 Dec 2009 09:23:00 +0300
fbreader (0.12.0-3) stable; urgency=low
* fixed rules file
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 6 Dec 2009 19:48:00 +0300
fbreader (0.12.0-2) stable; urgency=low
* fixed dependencies list
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 6 Dec 2009 19:05:00 +0300
fbreader (0.12.0-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 5 Dec 2009 03:40:00 +0300
fbreader (0.11.2-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 20 Oct 2009 13:22:00 +0400
fbreader (0.11.1-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 13 Oct 2009 23:38:00 +0400
fbreader (0.11.0-2) stable; urgency=low
* fixed package dependencies in debian files
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 26 Sep 2009 11:23:00 +0400
fbreader (0.11.0-1) stable; urgency=low
* new upstream version
-- Vasiliy Bout <bout.vasiliy@gmail.com> Wed, 16 Sep 2009 16:48:00 +0400
fbreader (0.10.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 30 Mar 2009 13:29:00 +0400
fbreader (0.10.6-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 26 Mar 2009 22:15:00 +0200
fbreader (0.10.5-1) stable; urgency=low
* new upstream version
* conflicts with ubuntu fbreader packages have been resolved
* dependencies for libzltext-dev have been fixed
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 20 Mar 2009 18:12:00 +0200
fbreader (0.10.4-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Wed, 18 Mar 2009 23:33:00 +0200
fbreader (0.10.3-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 5 Feb 2009 01:11:00 +0200
fbreader (0.10.2-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 17 Jan 2009 23:42:00 +0300
fbreader (0.10.1-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 16 Jan 2009 12:31:00 +0300
fbreader (0.10.0-1) stable; urgency=low
* new upstream version
* add-missing-headers.patch integrated into the upstream
* fix-centering-with-margins.patch integrated into the upstream
* use-sensible-browser.patch added to the upstream debian fileset
* remove-deprecated-fields-in-desktop-file.patch intgerated into the upstream
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 3 Aug 2008 19:01:00 +0400
fbreader (0.8.17-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 23 Mar 2008 03:30:00 +0300
fbreader (0.8.16-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 20 Mar 2008 03:10:00 +0300
fbreader (0.8.15-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 26 Feb 2008 02:41:00 +0300
fbreader (0.8.14-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 9 Feb 2008 22:48:00 +0300
fbreader (0.8.13-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 24 Jan 2008 15:24:00 +0300
fbreader (0.8.12-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 19 Jan 2008 03:47:00 +0300
fbreader (0.8.11-1) stable; urgency=low
* new upstream version
* dependency rules have been changed
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 12 Jan 2008 22:27:00 +0300
fbreader (0.8.10-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 4 Jan 2008 20:53:00 +0300
fbreader (0.8.9-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 27 Dec 2007 07:13:00 +0300
fbreader (0.8.8d-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 24 Dec 2007 10:27:00 +0300
fbreader (0.8.8c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 23 Dec 2007 08:14:00 +0300
fbreader (0.8.8a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 17 Dec 2007 03:03:00 +0300
fbreader (0.8.8-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 23 Nov 2007 22:55:00 +0300
fbreader (0.8.7b-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 6 Nov 2007 22:55:00 +0300
fbreader (0.8.7a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Wed, 31 Oct 2007 00:00:00 +0400
fbreader (0.8.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 5 Oct 2007 00:00:00 +0400
fbreader (0.8.6c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 30 Aug 2007 02:30:00 +0400
fbreader (0.8.6a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 18:47:00 +0400
fbreader (0.8.6-1) stable; urgency=low
* new upstream version
* added libzlibrary-dev package
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 5 Aug 2007 23:49:00 +0400
fbreader (0.8.5c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 19 Jul 2007 15:20:00 +0400
fbreader (0.8.5b-1) stable; urgency=low
* new upstream version
* almost all changes from the previous change are now included into
the upstream version: zlibrary shared objects moving, rpath deletion,
and the man page.
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 10 Jul 2007 21:50:00 +0400
fbreader (0.8.5a-1) unstable; urgency=low
* First upload to Debian. Closes: #432274
* Misc debianisation changes.
* Move zlibrary shared object files to /usr/lib from /usr/share.
* Remove use of rpath.
* Use sensible-browser.
* Added a basic man page.
-- Joey Hess <joeyh@debian.org> Mon, 09 Jul 2007 15:04:31 -0400
fbreader (0.8.5-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 7 Jul 2007 02:12:00 +0400
fbreader (0.8.4zz-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 5 Jul 2007 03:17:00 +0400
fbreader (0.8.4z-2) stable; urgency=low
* postinst/postrm scripts were added
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 29 Jun 2007 21:23:00 +0400
fbreader (0.8.4z-1) stable; urgency=low
* Initial release.
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 29 Jun 2007 17:53:00 +0400

View file

@ -0,0 +1 @@
5

View file

@ -0,0 +1,115 @@
Source: fbreader
Section: text
Priority: optional
Maintainer: Nikolay Pultsin <geometer@fbreader.org>
Standards-Version: 3.8.0
Build-Depends: debhelper (>= 5), libgtk2.0-dev, libqt3-mt-dev, libqt4-dev, libexpat1-dev, libbz2-dev, libz-dev, liblinebreak-dev (>= 1.0-1), libjpeg-dev, libfribidi-dev, libcurl-dev, quilt (>= 0.40), libsqlite3-dev
Package: fbreader
Priority: optional
Architecture: any
Replaces: fbreader-gtk, fbreader-qt, fbreader-qt4
Depends: ${shlibs:Depends}, libzlui
Description: e-book reader
FBReader is an e-book reader.
.
Main features:
* supports several open e-book formats: fb2, html, chm, plucker,
palmdoc, ztxt, tcr (psion text), rtf, oeb, openreader, non-DRM'ed
mobipocket, plain text
* reads directly from tar, zip, gzip, bzip2 archives (you can have
several books in one archive)
* supports a structured view of your e-book collection
* automatically determines encodings
* automatically generates a table of contents
* keeps the last open book and the last read positions for all open books
between runs
* automatic hyphenation (patterns for several languages are included)
* search and download books from network libraries
.
Homepage: http://www.fbreader.org/
Package: libzlcore
Section: libs
Priority: optional
Architecture: any
Conflicts: fbreader-gtk, fbreader-qt, fbreader-qt4
Replaces: libzlcore-data
Depends: ${shlibs:Depends}
Description: ZLibrary core
This is the core of ZLibrary, the library that the fbreader e-book reader
is based on.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.
Package: libzltext
Section: libs
Priority: optional
Architecture: any
Replaces: libzltext-data
Depends: ${shlibs:Depends}, libzlcore (= ${binary:Version})
Description: ZLibrary text model/viewer
This package provides text model/viewer part of ZLibrary.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.
Package: libzlui-gtk
Section: libs
Priority: optional
Architecture: any
Depends: ${shlibs:Depends}, libzlcore (= ${binary:Version})
Provides: libzlui
Description: GTK+ interface module for ZLibrary
This package provides a GTK+-based UI for ZLibrary.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.
Package: libzlui-qt
Section: libs
Priority: optional
Architecture: any
Depends: ${shlibs:Depends}, libzlcore (= ${binary:Version})
Provides: libzlui
Description: Qt3 interface module for ZLibrary
This package provides a Qt3-based UI for ZLibrary.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.
Package: libzlui-qt4
Section: libs
Priority: optional
Architecture: any
Depends: ${shlibs:Depends}
Provides: libzlui
Description: Qt4 interface module for ZLibrary
This package provides a Qt4-based UI for ZLibrary.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.
Package: libzlcore-dev
Section: libdevel
Priority: optional
Architecture: any
Depends: libzlcore, ${shlibs:Depends}, libzlcore (= ${binary:Version})
Description: ZLibrary core - development files
This package contains development files for the ZLibrary core.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.
Package: libzltext-dev
Section: libdevel
Priority: optional
Architecture: any
Depends: libzltext, ${shlibs:Depends}, libzltext (= ${binary:Version})
Description: ZLibrary text model/viewer - development files
This package contains development files for the ZLibrary text model/viewer
library.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.

View file

@ -0,0 +1,51 @@
This is the Debian prepackaged version of FBReader.
It was originally Debianised by Nikolay Pultsin <geometer@fbreader.org>.
Sources are downloaded from its website at:
http://www.fbreader.org/
It is copyright as follows:
/*
* Copyright (C) 2004-2009 Geometer Plus <contact@geometerplus.com>
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
On Debian systems, the full text of the GPL can be found in
/usr/share/common-licenses/GPL
It also includes html entity files with these licenses:
<!-- Portions (C) International Organization for Standardization 1986
Permission to copy in any form is granted for use with
conforming SGML systems and applications as defined in
ISO 8879, provided this notice is included in all copies.
-->
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
fee is hereby granted in perpetuity, provided that the above
copyright notice and this paragraph appear in all copies. The
copyright holders make no representation about the suitability of
the entities for any purpose. It is provided "as is" without
expressed or implied warranty.
-->

View file

@ -0,0 +1,2 @@
?package(fbreader):needs="x11" section="Applications/Viewers" \
title="E-book reader" command="FBReader"

View file

@ -0,0 +1,11 @@
--- fbreader-0.10.0.orig/fbreader/data/default/external.desktop.xml
+++ fbreader-0.10.0/fbreader/data/default/external.desktop.xml
@@ -3,7 +3,7 @@
<section name="Web Browser">
<program name="%browser" protocol="execute">
<action name="openLink" command="%command"/>
- <option name="command" defaultValue="mozilla %1 &amp;"/>
+ <option name="command" defaultValue="sensible-browser %1 &amp;"/>
</program>
</section>
</ExternalPrograms>

View file

@ -0,0 +1 @@
110-use-sensible-browser.patch

View file

@ -0,0 +1,58 @@
#!/usr/bin/make -f
clean: unpatch
dh_testdir
dh_testroot
[ ! -f Makefile ] || $(MAKE) distclean
dh_clean build-stamp install-stamp
build: patch build-stamp
build-stamp:
dh_testdir
$(MAKE) -C zlibrary/core TARGET_ARCH=desktop UI_TYPE=dummy
$(MAKE) -C zlibrary/text TARGET_ARCH=desktop UI_TYPE=dummy
$(MAKE) -C zlibrary/ui TARGET_ARCH=desktop UI_TYPE=gtk
$(MAKE) -C zlibrary/ui TARGET_ARCH=desktop UI_TYPE=qt
$(MAKE) -C zlibrary/ui TARGET_ARCH=desktop UI_TYPE=qt4
$(MAKE) -C fbreader TARGET_ARCH=desktop UI_TYPE=dummy
touch build-stamp
install: DEB_DIR = $(CURDIR)/debian
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
$(MAKE) -C zlibrary/core TARGET_ARCH=desktop UI_TYPE=dummy DESTDIR=$(DEB_DIR)/libzlcore do_install
$(MAKE) -C zlibrary/text TARGET_ARCH=desktop UI_TYPE=dummy DESTDIR=$(DEB_DIR)/libzltext do_install
$(MAKE) -C zlibrary/core TARGET_ARCH=desktop UI_TYPE=dummy DESTDIR=$(DEB_DIR)/libzlcore-dev do_install_dev
$(MAKE) -C zlibrary/text TARGET_ARCH=desktop UI_TYPE=dummy DESTDIR=$(DEB_DIR)/libzltext-dev do_install_dev
$(MAKE) -C zlibrary/ui TARGET_ARCH=desktop UI_TYPE=gtk DESTDIR=$(DEB_DIR)/libzlui-gtk do_install
$(MAKE) -C zlibrary/ui TARGET_ARCH=desktop UI_TYPE=qt DESTDIR=$(DEB_DIR)/libzlui-qt do_install
$(MAKE) -C zlibrary/ui TARGET_ARCH=desktop UI_TYPE=qt4 DESTDIR=$(DEB_DIR)/libzlui-qt4 do_install
$(MAKE) -C fbreader TARGET_ARCH=desktop UI_TYPE=dummy DESTDIR=$(DEB_DIR)/fbreader do_install
touch install-stamp
binary-arch: VERSION=$(shell expr "`dpkg-parsechangelog |grep Version:`" : '.*Version: \(.*\)')
binary-arch: build install
dh_testdir
dh_testroot
dh_desktop
dh_installmenu
dh_installdocs
dh_installman fbreader/desktop/FBReader.1
dh_installchangelogs
dh_strip
dh_compress
dh_fixperms
dh_makeshlibs -plibzlcore -V"libzlcore (>= $(VERSION)),libzlcore(<< 0.13.0)"
dh_makeshlibs -plibzltext -V"libzltext (>= $(VERSION)),libzltext(<< 0.13.0)"
dh_installdeb
dh_shlibdeps -l debian/libzlcore/usr/lib:debian/libzltext/usr/lib
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-arch
include /usr/share/quilt/quilt.make

View file

@ -0,0 +1,2 @@
version=2
http://www.fbreader.org/downloads.php fbreader-sources-(.*).tgz

View file

@ -0,0 +1,225 @@
fbreader (0.10.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 30 Mar 2009 13:29:00 +0400
fbreader (0.10.6-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 26 Mar 2009 22:15:00 +0200
fbreader (0.10.5-3) stable; urgency=low
* versions for maemo2 and maemo3 were separated: maemo2 doesn't contain
conic library
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 22 Mar 2009 17:37:00 +0200
fbreader (0.10.5-2) stable; urgency=low
* version with more debug information
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 22 Mar 2009 11:42:00 +0200
fbreader (0.10.5-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 20 Mar 2009 18:12:00 +0200
fbreader (0.10.4-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 8 Feb 2009 03:24:00 +0300
fbreader (0.10.0-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 3 Aug 2008 19:01:00 +0400
fbreader (0.8.17-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 23 Mar 2008 03:30:00 +0300
fbreader (0.8.16-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 20 Mar 2008 03:10:00 +0300
fbreader (0.8.15-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 26 Feb 2008 02:41:00 +0300
fbreader (0.8.14-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 9 Feb 2008 22:48:00 +0300
fbreader (0.8.13-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 24 Jan 2008 15:24:00 +0300
fbreader (0.8.12-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 19 Jan 2008 03:47:00 +0300
fbreader (0.8.11-1) stable; urgency=low
* new upstream version
* dependency rules have been changed
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 12 Jan 2008 22:27:00 +0300
fbreader (0.8.10-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 4 Jan 2008 20:53:00 +0300
fbreader (0.8.9-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 27 Dec 2007 07:13:00 +0300
fbreader (0.8.8d-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 24 Dec 2007 10:27:00 +0300
fbreader (0.8.8c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 23 Dec 2007 08:14:00 +0300
fbreader (0.8.8b-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 20 Dec 2007 22:30:00 +0300
fbreader (0.8.8a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 17 Dec 2007 03:03:00 +0300
fbreader (0.8.8-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 23 Nov 2007 22:55:00 +0300
fbreader (0.8.7b-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 6 Nov 2007 22:55:00 +0300
fbreader (0.8.7a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 3 Nov 2007 00:00:00 +0400
fbreader (0.8.7-3) stable; urgency=low
* dependencies list has been fixed
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 20 Oct 2007 00:00:00 +0400
fbreader (0.8.7-2) stable; urgency=low
* dependencies list has been fixed
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 19 Oct 2007 00:00:00 +0400
fbreader (0.8.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 5 Sep 2007 00:00:00 +0400
fbreader (0.8.6d-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 7 Sep 2007 12:00:00 +0400
fbreader (0.8.6c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 30 Aug 2007 02:30:00 +0400
fbreader (0.8.6a-1) stable; urgency=low
* fixed stylus/finger pressing detection problem on Nokia 770 device
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 18:47:00 +0400
fbreader (0.8.6-3) stable; urgency=low
* fixed fbreader-maemo2 package icon
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 01:55:00 +0400
fbreader (0.8.6-2) stable; urgency=low
* fixed fbreader-maemo2 package icon
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 01:09:00 +0400
fbreader (0.8.6-1) stable; urgency=low
* new upstream version
* added libzlibrary-dev package
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 5 Aug 2007 23:49:00 +0400
fbreader (0.8.5c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 19 Jul 2007 15:20:00 +0400
fbreader (0.8.5a-1) stable; urgency=low
* new upstream version
* maemo package icon has been restored
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 7 Jul 2007 02:12:00 +0400
fbreader (0.8.5-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 7 Jul 2007 02:12:00 +0400
fbreader (0.8.4zz-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 5 Jul 2007 03:17:00 +0400
fbreader (0.8.4z-1) stable; urgency=low
* Initial release.
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 30 Jun 2007 01:48:00 +0400

View file

@ -0,0 +1 @@
4

View file

@ -0,0 +1,81 @@
Source: fbreader
Priority: optional
Maintainer: Nikolay Pultsin <geometer@fbreader.org>
Standards-Version: 3.6.1
Build-Depends: debhelper, libexpat1-dev, libbz2-dev, libz-dev, hildon-libs-dev, libosso-dev, liblinebreak-dev, libfribidi-dev, libcurl3-dev
Package: libzlibrary-maemo2-noconic
Section: user/libs
Priority: optional
Architecture: armel
Replaces: libzlibrary-maemo2
Conflicts: fbreader-maemo2 (<< 0.8.0)
Depends: hildon-libs0, libatk1.0-0 (>= 1.9.0), libbz2-1.0, libc6 (>= 2.3.5-1), libexpat1 (>= 1.95.8), libgcc1 (>= 1:3.4.4), libglib2.0-0 (>= 2.8.6-1osso1), libgtk2.0-0 (>= 2:2.6.10-1.osso8), libosso1, libpango1.0-0 (>= 1.8.1), libstdc++6 (>= 3.4.4), zlib1g (>= 1:1.2.1), libfribidi0, libcurl3, liblinebreak-maemo2
Description: Platform-dependent part of fbreader
Home page: http://www.fbreader.org/
Package: libzlibrary-maemo2-dev
Section: libdevel
Priority: optional
Architecture: armel
Replaces: libzlibrary-dev
Depends: libzlibrary-maemo2 (= ${Source-Version}) | libzlibrary-maemo2-noconic (= ${Source-Version})
Description: zlibrary - development files
Home page: http://www.fbreader.org/
Package: fbreader-maemo2
Section: user/tools
Priority: optional
Architecture: armel
Depends: ${shlibs:Depends}
Description: e-book reader
FBReader is an e-book reader for UNIX/Windows computers.
.
Main features:
* supports several open e-book formats: fb2, html, chm, plucker,
palmdoc, ztxt, tcr (psion text), rtf, oeb, openreader, non-DRM'ed
mobipocket, plain text
* reads directly from tar, zip, gzip, bzip2 archives (you can have
several books in one archive)
* supports structured view for your e-book collection
* automatically determines encoding
* automatically generates table of contents
* keeps the last open book and the last read positions for all open books
between runs
* automatic hyphenation (patterns for several languages are included)
.
Home page: http://www.fbreader.org/
XB-Maemo-Icon-26:
iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABmJLR0QA/wD/
AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2QEKFjEFBaQC
bAAABStJREFUSMftlsmPXFcVh79zhzfX0Gm3y+20GwcnDomMEJEVAXIk2CAG
YaYVEUhs2WWTRRbsQCzZgGADKyT2RkLKAgkiYaJsIkAx3R7iEbvT6a4eqrte
Vb07ZFHV7W6TPwAkrnSk867OO997v3N07oX/r//2JQfOlT+9ZT+xdLqXhiBl
WTYhENc2Hsn2j9/49MI4LKjLX7u9cPmr7zz9yRf90QTr+7uiXaoGdS1b21uy
v9VnY+1RlNCEb3732+E/QN//2a9/+qVLn3/9QmLlxFNt70PD8MN1Vl/7UbJ0
77Ysd8rQPPvstb9++RtXRifPP1VuPlgmNr25qlVOTp1Ni7LU7XbLdMqCTqvw
mzvbk9/+4c+j8eLp3/zyB1//uTkAPZr4Z665wr75q5+wt71pyiKn1+pQzs1z
dXWV17ulym/fupC9+ccL409tcHH0kPTUaf6tc/bEkmlDqhRaKZI0ocpzbHTs
mnwJ4BA09JFoDSsr17hz8zpoQYBQO85OFN/r72CMYrhyHbf4PH2nKUc5e16z
s7FJkIi1lixJIQoQiTEiRADUASjPC3yIKGUQLWgRtGhERVCRXQn4xjHyEU9k
f+xogiIqM9U/ggiIHKYkxgjyBKjKMyYxYo3BKIM1ljzLKfOCEzi8g2Hj6HuH
pMn0a5VCRRCtpr5SKA1KTUtflOUB57F0mTWMG48gJDYlzTKyrCBVwvm9XULj
2PeeD7SmlVXEuEkwBiOC0hpRgiCIKESmvjEJ+CdAIpHBYAgiZFlBVbVotzpk
ecqp+zfZH48JUdhpzSPtDlEZnPMYQBmDPG5gEEFESIxlEvxx6SyKwf4eRZ5T
lS263S7tToeyrKiMxUdQEhh3u4Q0Q0JAxTBNavSs+LNiAdpoqqrE+SdqZIKj
HjWkSUpRlFRVSVHk5EWBa1WUEqmAKNM+SgUSPFpAqWmaOIMIoJWmVRSznSPS
RTyT8Zhet8u4HpHlOXmeYWzCZl7RU5okETKtic2YNDqsimA1WmsAQpy2dIwR
rYQ0fSzpIagZjXEywugEY+ysIQqKvGA9BpL5ORYTz9lmj2TjIa1OSt7O+SAx
s+JD8B7nAsEHtNbkWQZhcFy6wdbONEAprDUYM21xrYXGGv5y5jnM/AlefWaR
xa0HlN0MFye4rJjKpYQQPK6Z4BqHKEWZ58gMcfhHdV1Dy9GZn6PfXwcUzjtC
tGSfe4V3rr7FP3pPUyc9Xj73AlY79PwSae8EfjxNbLQBEaJERCBJ7KxBjoC0
NnSU49IXXqH32UvUJmVdlfTrPfxwh/iZL1KlmnqiWY2OUW+R83MZ81UbY0aI
gLEWmySIKEKIpEaBhOOgIkvwSuGLioEkDCYNy8rR155+XlDfvcmWUYgWfFIx
HA3pDyFpJqjop1NBCTFmTLwD0YhAnB0UhzVSCKUEnBh6MmK5GdAUBec6GUux
Yb9oMxlssPfuVXqjXc5XCWfaOd1OSVEUlGWJtVOpvPf4EDBaMxrVT4ygxPhW
YlGDD+kkHVwzonP3PaIQ9drDcXbtn2s3Htx59+b1f71968bKuYsvXXzphedf
XDpzZrnd6XSTVquljDGilCARYgj+/dWVv6/+/hdXjh58cvnVH37n5a9863f1
yoqcXJjfvv/w3q17d99/e2Xlvb/dv3/vxs7Odj+E4GfvqJnpJEkypXSxsHCy
yLM8ESXWWuvrerh2587tW977GggHICUiutXunLLG6MFgUDfNpIkxTgDHdDSG
j7kCyMfsxVlsPGLHAg+eD+xY4P/M+ght8RxOZDxGnAAAAABJRU5ErkJggg==
====

View file

@ -0,0 +1,21 @@
#! /bin/sh
if [ -x /usr/bin/gtk-update-icon-cache ]
then
/usr/bin/gtk-update-icon-cache -f /usr/share/icons/hicolor
fi
if [ -x /usr/bin/update-desktop-database ]
then
/usr/bin/update-desktop-database
fi
if [ -x /usr/bin/update-mime-database ]
then
/usr/bin/update-mime-database /usr/share/mime
fi
if [ "$1" = "configure" -a -z "$2" -a -x /usr/bin/maemo-select-menu-location ]
then
/usr/bin/maemo-select-menu-location FBReader.desktop
fi

View file

@ -0,0 +1,16 @@
#! /bin/sh
if [ -x /usr/bin/gtk-update-icon-cache ]
then
/usr/bin/gtk-update-icon-cache -f /usr/share/icons/hicolor
fi
if [ -x /usr/bin/update-desktop-database ]
then
/usr/bin/update-desktop-database
fi
if [ -x /usr/bin/update-mime-database ]
then
/usr/bin/update-mime-database /usr/share/mime
fi

View file

@ -0,0 +1,7 @@
#! /bin/sh
set -e
if [ "$1" = "configure" ]; then
ldconfig
fi

View file

@ -0,0 +1,7 @@
#! /bin/sh
set -e
if [ "$1" = "configure" ]; then
ldconfig
fi

View file

@ -0,0 +1,2 @@
libzlcore @SOVERSIONCORE@ libzlibrary-maemo2 (>= @VERSION@-1) | libzlibrary-maemo2-noconic (>= @VERSION@-1), libzlibrary-maemo2 (<< 0.11.0) | libzlibrary-maemo2-noconic (<< 0.11.0)
libzltext @SOVERSIONCORE@ libzlibrary-maemo2 (>= @VERSION@-1) | libzlibrary-maemo2-noconic (>= @VERSION@-1), libzlibrary-maemo2 (<< 0.11.0) | libzlibrary-maemo2-noconic (<< 0.11.0)

View file

@ -0,0 +1,66 @@
#!/usr/bin/make -f
## ----------------------------------------------------------------------
## debian/rules : package script for fbreader
## ----------------------------------------------------------------------
## ----------------------------------------------------------------------
## uncomment this to turn on verbose mode
#export DH_VERBOSE=1
## ----------------------------------------------------------------------
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
## ----------------------------------------------------------------------
DEB_DIR = $(CURDIR)/debian
## ----------------------------------------------------------------------
## targets
clean:
dh_testdir
dh_testroot
[ ! -f Makefile ] || $(MAKE) distclean
dh_clean build-stamp install-stamp
build: build-stamp
build-stamp:
dh_testdir
$(MAKE) -C zlibrary/core TARGET_ARCH=maemo UI_TYPE=maemo2
$(MAKE) -C zlibrary/text TARGET_ARCH=maemo UI_TYPE=maemo2
$(MAKE) -C zlibrary/ui TARGET_ARCH=maemo UI_TYPE=maemo2
$(MAKE) -C fbreader TARGET_ARCH=maemo UI_TYPE=maemo2
touch build-stamp
install: install-stamp
install-stamp: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
$(MAKE) -C zlibrary/core TARGET_ARCH=maemo UI_TYPE=maemo2 DESTDIR=$(DEB_DIR)/libzlibrary-maemo2-noconic do_install
$(MAKE) -C zlibrary/text TARGET_ARCH=maemo UI_TYPE=maemo2 DESTDIR=$(DEB_DIR)/libzlibrary-maemo2-noconic do_install
$(MAKE) -C zlibrary/ui TARGET_ARCH=maemo UI_TYPE=maemo2 DESTDIR=$(DEB_DIR)/libzlibrary-maemo2-noconic do_install
$(MAKE) -C fbreader TARGET_ARCH=maemo UI_TYPE=maemo2 DESTDIR=$(DEB_DIR)/fbreader-maemo2 do_install
$(MAKE) -C zlibrary/core TARGET_ARCH=maemo UI_TYPE=maemo2 DESTDIR=$(DEB_DIR)/libzlibrary-maemo2-dev do_install_dev
$(MAKE) -C zlibrary/text TARGET_ARCH=maemo UI_TYPE=maemo2 DESTDIR=$(DEB_DIR)/libzlibrary-maemo2-dev do_install_dev
touch install-stamp
binary-indep:
binary-arch: build install
dh_testdir
dh_testroot
dh_compress -a
dh_fixperms -a
dh_installdeb -a
dh_shlibdeps -a -l $(PWD)/debian/libzlibrary-maemo2/usr/lib
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: clean build install binary-indep binary-arch binary
## ----------------------------------------------------------------------

View file

@ -0,0 +1,225 @@
fbreader (0.10.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 30 Mar 2009 13:29:00 +0400
fbreader (0.10.6-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 26 Mar 2009 22:15:00 +0200
fbreader (0.10.5-3) stable; urgency=low
* versions for maemo2 and maemo3 were separated: maemo2 doesn't contain
conic library
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 22 Mar 2009 17:37:00 +0200
fbreader (0.10.5-2) stable; urgency=low
* version with more debug information
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 22 Mar 2009 11:42:00 +0200
fbreader (0.10.5-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 20 Mar 2009 18:12:00 +0200
fbreader (0.10.4-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 8 Feb 2009 03:24:00 +0300
fbreader (0.10.0-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 3 Aug 2008 19:01:00 +0400
fbreader (0.8.17-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 23 Mar 2008 03:30:00 +0300
fbreader (0.8.16-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 20 Mar 2008 03:10:00 +0300
fbreader (0.8.15-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 26 Feb 2008 02:41:00 +0300
fbreader (0.8.14-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 9 Feb 2008 22:48:00 +0300
fbreader (0.8.13-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 24 Jan 2008 15:24:00 +0300
fbreader (0.8.12-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 19 Jan 2008 03:47:00 +0300
fbreader (0.8.11-1) stable; urgency=low
* new upstream version
* dependency rules have been changed
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 12 Jan 2008 22:27:00 +0300
fbreader (0.8.10-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 4 Jan 2008 20:53:00 +0300
fbreader (0.8.9-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 27 Dec 2007 07:13:00 +0300
fbreader (0.8.8d-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 24 Dec 2007 10:27:00 +0300
fbreader (0.8.8c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 23 Dec 2007 08:14:00 +0300
fbreader (0.8.8b-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 20 Dec 2007 22:30:00 +0300
fbreader (0.8.8a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 17 Dec 2007 03:03:00 +0300
fbreader (0.8.8-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 23 Nov 2007 22:55:00 +0300
fbreader (0.8.7b-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 6 Nov 2007 22:55:00 +0300
fbreader (0.8.7a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 3 Nov 2007 00:00:00 +0400
fbreader (0.8.7-3) stable; urgency=low
* dependencies list has been fixed
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 20 Oct 2007 00:00:00 +0400
fbreader (0.8.7-2) stable; urgency=low
* dependencies list has been fixed
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 19 Oct 2007 00:00:00 +0400
fbreader (0.8.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 5 Sep 2007 00:00:00 +0400
fbreader (0.8.6d-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 7 Sep 2007 12:00:00 +0400
fbreader (0.8.6c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 30 Aug 2007 02:30:00 +0400
fbreader (0.8.6a-1) stable; urgency=low
* fixed stylus/finger pressing detection problem on Nokia 770 device
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 18:47:00 +0400
fbreader (0.8.6-3) stable; urgency=low
* fixed fbreader-maemo2 package icon
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 01:55:00 +0400
fbreader (0.8.6-2) stable; urgency=low
* fixed fbreader-maemo2 package icon
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 01:09:00 +0400
fbreader (0.8.6-1) stable; urgency=low
* new upstream version
* added libzlibrary-dev package
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 5 Aug 2007 23:49:00 +0400
fbreader (0.8.5c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 19 Jul 2007 15:20:00 +0400
fbreader (0.8.5a-1) stable; urgency=low
* new upstream version
* maemo package icon has been restored
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 7 Jul 2007 02:12:00 +0400
fbreader (0.8.5-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 7 Jul 2007 02:12:00 +0400
fbreader (0.8.4zz-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 5 Jul 2007 03:17:00 +0400
fbreader (0.8.4z-1) stable; urgency=low
* Initial release.
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 30 Jun 2007 01:48:00 +0400

View file

@ -0,0 +1 @@
4

View file

@ -0,0 +1,81 @@
Source: fbreader
Priority: optional
Maintainer: Nikolay Pultsin <geometer@fbreader.org>
Standards-Version: 3.6.1
Build-Depends: debhelper, libexpat1-dev, libbz2-dev, libz-dev, hildon-libs-dev, libosso-dev, liblinebreak-dev, libfribidi-dev, libcurl3-dev, libconic0-dev
Package: libzlibrary-maemo2
Section: user/libs
Priority: optional
Architecture: armel
Replaces: libzlibrary-maemo2-noconic
Conflicts: fbreader-maemo2 (<< 0.8.0)
Depends: hildon-libs0, libatk1.0-0 (>= 1.9.0), libbz2-1.0, libc6 (>= 2.3.5-1), libexpat1 (>= 1.95.8), libgcc1 (>= 1:3.4.4), libglib2.0-0 (>= 2.8.6-1osso1), libgtk2.0-0 (>= 2:2.6.10-1.osso8), libosso1, libpango1.0-0 (>= 1.8.1), libstdc++6 (>= 3.4.4), zlib1g (>= 1:1.2.1), libfribidi0, libcurl3, libconic0, liblinebreak-maemo2
Description: Platform-dependent part of fbreader
Home page: http://www.fbreader.org/
Package: libzlibrary-maemo2-dev
Section: libdevel
Priority: optional
Architecture: armel
Replaces: libzlibrary-dev
Depends: libzlibrary-maemo2 (= ${Source-Version}) | libzlibrary-maemo2-noconic (= ${Source-Version})
Description: zlibrary - development files
Home page: http://www.fbreader.org/
Package: fbreader-maemo2
Section: user/tools
Priority: optional
Architecture: armel
Depends: ${shlibs:Depends}
Description: e-book reader
FBReader is an e-book reader for UNIX/Windows computers.
.
Main features:
* supports several open e-book formats: fb2, html, chm, plucker,
palmdoc, ztxt, tcr (psion text), rtf, oeb, openreader, non-DRM'ed
mobipocket, plain text
* reads directly from tar, zip, gzip, bzip2 archives (you can have
several books in one archive)
* supports structured view for your e-book collection
* automatically determines encoding
* automatically generates table of contents
* keeps the last open book and the last read positions for all open books
between runs
* automatic hyphenation (patterns for several languages are included)
.
Home page: http://www.fbreader.org/
XB-Maemo-Icon-26:
iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABmJLR0QA/wD/
AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2QEKFjEFBaQC
bAAABStJREFUSMftlsmPXFcVh79zhzfX0Gm3y+20GwcnDomMEJEVAXIk2CAG
YaYVEUhs2WWTRRbsQCzZgGADKyT2RkLKAgkiYaJsIkAx3R7iEbvT6a4eqrte
Vb07ZFHV7W6TPwAkrnSk867OO997v3N07oX/r//2JQfOlT+9ZT+xdLqXhiBl
WTYhENc2Hsn2j9/49MI4LKjLX7u9cPmr7zz9yRf90QTr+7uiXaoGdS1b21uy
v9VnY+1RlNCEb3732+E/QN//2a9/+qVLn3/9QmLlxFNt70PD8MN1Vl/7UbJ0
77Ysd8rQPPvstb9++RtXRifPP1VuPlgmNr25qlVOTp1Ni7LU7XbLdMqCTqvw
mzvbk9/+4c+j8eLp3/zyB1//uTkAPZr4Z665wr75q5+wt71pyiKn1+pQzs1z
dXWV17ulym/fupC9+ccL409tcHH0kPTUaf6tc/bEkmlDqhRaKZI0ocpzbHTs
mnwJ4BA09JFoDSsr17hz8zpoQYBQO85OFN/r72CMYrhyHbf4PH2nKUc5e16z
s7FJkIi1lixJIQoQiTEiRADUASjPC3yIKGUQLWgRtGhERVCRXQn4xjHyEU9k
f+xogiIqM9U/ggiIHKYkxgjyBKjKMyYxYo3BKIM1ljzLKfOCEzi8g2Hj6HuH
pMn0a5VCRRCtpr5SKA1KTUtflOUB57F0mTWMG48gJDYlzTKyrCBVwvm9XULj
2PeeD7SmlVXEuEkwBiOC0hpRgiCIKESmvjEJ+CdAIpHBYAgiZFlBVbVotzpk
ecqp+zfZH48JUdhpzSPtDlEZnPMYQBmDPG5gEEFESIxlEvxx6SyKwf4eRZ5T
lS263S7tToeyrKiMxUdQEhh3u4Q0Q0JAxTBNavSs+LNiAdpoqqrE+SdqZIKj
HjWkSUpRlFRVSVHk5EWBa1WUEqmAKNM+SgUSPFpAqWmaOIMIoJWmVRSznSPS
RTyT8Zhet8u4HpHlOXmeYWzCZl7RU5okETKtic2YNDqsimA1WmsAQpy2dIwR
rYQ0fSzpIagZjXEywugEY+ysIQqKvGA9BpL5ORYTz9lmj2TjIa1OSt7O+SAx
s+JD8B7nAsEHtNbkWQZhcFy6wdbONEAprDUYM21xrYXGGv5y5jnM/AlefWaR
xa0HlN0MFye4rJjKpYQQPK6Z4BqHKEWZ58gMcfhHdV1Dy9GZn6PfXwcUzjtC
tGSfe4V3rr7FP3pPUyc9Xj73AlY79PwSae8EfjxNbLQBEaJERCBJ7KxBjoC0
NnSU49IXXqH32UvUJmVdlfTrPfxwh/iZL1KlmnqiWY2OUW+R83MZ81UbY0aI
gLEWmySIKEKIpEaBhOOgIkvwSuGLioEkDCYNy8rR155+XlDfvcmWUYgWfFIx
HA3pDyFpJqjop1NBCTFmTLwD0YhAnB0UhzVSCKUEnBh6MmK5GdAUBec6GUux
Yb9oMxlssPfuVXqjXc5XCWfaOd1OSVEUlGWJtVOpvPf4EDBaMxrVT4ygxPhW
YlGDD+kkHVwzonP3PaIQ9drDcXbtn2s3Htx59+b1f71968bKuYsvXXzphedf
XDpzZrnd6XSTVquljDGilCARYgj+/dWVv6/+/hdXjh58cvnVH37n5a9863f1
yoqcXJjfvv/w3q17d99/e2Xlvb/dv3/vxs7Odj+E4GfvqJnpJEkypXSxsHCy
yLM8ESXWWuvrerh2587tW977GggHICUiutXunLLG6MFgUDfNpIkxTgDHdDSG
j7kCyMfsxVlsPGLHAg+eD+xY4P/M+ght8RxOZDxGnAAAAABJRU5ErkJggg==
====

View file

@ -0,0 +1,21 @@
#! /bin/sh
if [ -x /usr/bin/gtk-update-icon-cache ]
then
/usr/bin/gtk-update-icon-cache -f /usr/share/icons/hicolor
fi
if [ -x /usr/bin/update-desktop-database ]
then
/usr/bin/update-desktop-database
fi
if [ -x /usr/bin/update-mime-database ]
then
/usr/bin/update-mime-database /usr/share/mime
fi
if [ "$1" = "configure" -a -z "$2" -a -x /usr/bin/maemo-select-menu-location ]
then
/usr/bin/maemo-select-menu-location FBReader.desktop
fi

View file

@ -0,0 +1,16 @@
#! /bin/sh
if [ -x /usr/bin/gtk-update-icon-cache ]
then
/usr/bin/gtk-update-icon-cache -f /usr/share/icons/hicolor
fi
if [ -x /usr/bin/update-desktop-database ]
then
/usr/bin/update-desktop-database
fi
if [ -x /usr/bin/update-mime-database ]
then
/usr/bin/update-mime-database /usr/share/mime
fi

View file

@ -0,0 +1,7 @@
#! /bin/sh
set -e
if [ "$1" = "configure" ]; then
ldconfig
fi

View file

@ -0,0 +1,7 @@
#! /bin/sh
set -e
if [ "$1" = "configure" ]; then
ldconfig
fi

View file

@ -0,0 +1,2 @@
libzlcore @SOVERSIONCORE@ libzlibrary-maemo2 (>= @VERSION@-1) | libzlibrary-maemo2-noconic (>= @VERSION@-1), libzlibrary-maemo2 (<< 0.11.0) | libzlibrary-maemo2-noconic (<< 0.11.0)
libzltext @SOVERSIONCORE@ libzlibrary-maemo2 (>= @VERSION@-1) | libzlibrary-maemo2-noconic (>= @VERSION@-1), libzlibrary-maemo2 (<< 0.11.0) | libzlibrary-maemo2-noconic (<< 0.11.0)

View file

@ -0,0 +1,66 @@
#!/usr/bin/make -f
## ----------------------------------------------------------------------
## debian/rules : package script for fbreader
## ----------------------------------------------------------------------
## ----------------------------------------------------------------------
## uncomment this to turn on verbose mode
#export DH_VERBOSE=1
## ----------------------------------------------------------------------
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
## ----------------------------------------------------------------------
DEB_DIR = $(CURDIR)/debian
## ----------------------------------------------------------------------
## targets
clean:
dh_testdir
dh_testroot
[ ! -f Makefile ] || $(MAKE) distclean
dh_clean build-stamp install-stamp
build: build-stamp
build-stamp:
dh_testdir
$(MAKE) -C zlibrary/core TARGET_ARCH=maemo UI_TYPE=maemo3
$(MAKE) -C zlibrary/text TARGET_ARCH=maemo UI_TYPE=maemo3
$(MAKE) -C zlibrary/ui TARGET_ARCH=maemo UI_TYPE=maemo3
$(MAKE) -C fbreader TARGET_ARCH=maemo UI_TYPE=maemo3
touch build-stamp
install: install-stamp
install-stamp: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
$(MAKE) -C zlibrary/core TARGET_ARCH=maemo UI_TYPE=maemo3 DESTDIR=$(DEB_DIR)/libzlibrary-maemo2 do_install
$(MAKE) -C zlibrary/text TARGET_ARCH=maemo UI_TYPE=maemo3 DESTDIR=$(DEB_DIR)/libzlibrary-maemo2 do_install
$(MAKE) -C zlibrary/ui TARGET_ARCH=maemo UI_TYPE=maemo3 DESTDIR=$(DEB_DIR)/libzlibrary-maemo2 do_install
$(MAKE) -C fbreader TARGET_ARCH=maemo UI_TYPE=maemo3 DESTDIR=$(DEB_DIR)/fbreader-maemo2 do_install
$(MAKE) -C zlibrary/core TARGET_ARCH=maemo UI_TYPE=maemo3 DESTDIR=$(DEB_DIR)/libzlibrary-maemo2-dev do_install_dev
$(MAKE) -C zlibrary/text TARGET_ARCH=maemo UI_TYPE=maemo3 DESTDIR=$(DEB_DIR)/libzlibrary-maemo2-dev do_install_dev
touch install-stamp
binary-indep:
binary-arch: build install
dh_testdir
dh_testroot
dh_compress -a
dh_fixperms -a
dh_installdeb -a
dh_shlibdeps -a -l $(PWD)/debian/libzlibrary-maemo2/usr/lib
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: clean build install binary-indep binary-arch binary
## ----------------------------------------------------------------------

View file

@ -0,0 +1,200 @@
fbreader (0.10.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 30 Mar 2009 13:29:00 +0400
fbreader (0.10.6-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 26 Mar 2009 22:15:00 +0200
fbreader (0.10.5-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 20 Mar 2009 18:12:00 +0200
fbreader (0.10.4-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 8 Feb 2009 03:24:00 +0300
fbreader (0.10.0-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 3 Aug 2008 19:01:00 +0400
fbreader (0.8.17-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 23 Mar 2008 03:30:00 +0300
fbreader (0.8.16-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 20 Mar 2008 03:10:00 +0300
fbreader (0.8.15-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 26 Feb 2008 02:41:00 +0300
fbreader (0.8.14-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 9 Feb 2008 22:48:00 +0300
fbreader (0.8.13-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 24 Jan 2008 15:24:00 +0300
fbreader (0.8.12-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 19 Jan 2008 03:47:00 +0300
fbreader (0.8.11-1) stable; urgency=low
* new upstream version
* dependency rules have been changed
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 12 Jan 2008 22:27:00 +0300
fbreader (0.8.10-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 4 Jan 2008 20:53:00 +0300
fbreader (0.8.9-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 27 Dec 2007 07:13:00 +0300
fbreader (0.8.8d-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 24 Dec 2007 10:27:00 +0300
fbreader (0.8.8c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 23 Dec 2007 08:14:00 +0300
fbreader (0.8.8b-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 20 Dec 2007 22:30:00 +0300
fbreader (0.8.8a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 17 Dec 2007 03:03:00 +0300
fbreader (0.8.8-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 23 Nov 2007 22:55:00 +0300
fbreader (0.8.7b-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 6 Nov 2007 22:55:00 +0300
fbreader (0.8.7a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 3 Nov 2007 00:00:00 +0400
fbreader (0.8.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 5 Sep 2007 00:00:00 +0400
fbreader (0.8.6d-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 7 Sep 2007 12:00:00 +0400
fbreader (0.8.6c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 30 Aug 2007 02:30:00 +0400
fbreader (0.8.6a-1) stable; urgency=low
* fixed stylus/finger pressing detection problem on Nokia 770 device
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 18:47:00 +0400
fbreader (0.8.6-3) stable; urgency=low
* fixed fbreader-maemo2 package icon
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 01:55:00 +0400
fbreader (0.8.6-2) stable; urgency=low
* fixed fbreader-maemo2 package icon
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 01:09:00 +0400
fbreader (0.8.6-1) stable; urgency=low
* new upstream version
* added libzlibrary-dev package
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 5 Aug 2007 23:49:00 +0400
fbreader (0.8.5c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 19 Jul 2007 15:20:00 +0400
fbreader (0.8.5a-1) stable; urgency=low
* new upstream version
* maemo package icon has been restored
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 7 Jul 2007 02:12:00 +0400
fbreader (0.8.5-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 7 Jul 2007 02:12:00 +0400
fbreader (0.8.4zz-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 5 Jul 2007 03:17:00 +0400
fbreader (0.8.4z-1) stable; urgency=low
* Initial release.
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 30 Jun 2007 01:48:00 +0400

View file

@ -0,0 +1 @@
4

View file

@ -0,0 +1,79 @@
Source: fbreader
Priority: optional
Maintainer: Nikolay Pultsin <geometer@fbreader.org>
Standards-Version: 3.6.1
Build-Depends: debhelper, libexpat1-dev, libbz2-dev, libz-dev, libhildon1-dev, libosso-dev, liblinebreak-dev, libfribidi-dev, libcurl3-dev
Package: libzlibrary
Section: user/libs
Priority: optional
Architecture: armel
Conflicts: fbreader (<< 0.8.0)
Depends: ${shlibs:Depends}
Description: Platform-dependent part of fbreader
Home page: http://www.fbreader.org/
Package: libzlibrary-dev
Section: libdevel
Priority: optional
Architecture: armel
Depends: libzlibrary (= ${Source-Version})
Description: zlibrary - development files
Home page: http://www.fbreader.org/
Package: fbreader
Section: user/tools
Priority: optional
Architecture: armel
Depends: ${shlibs:Depends}
Description: e-book reader
FBReader is an e-book reader for UNIX/Windows computers.
.
Main features:
* supports several open e-book formats: fb2, html, chm, plucker,
palmdoc, ztxt, tcr (psion text), rtf, oeb, openreader, non-DRM'ed
mobipocket, plain text
* reads directly from tar, zip, gzip, bzip2 archives (you can have
several books in one archive)
* supports structured view for your e-book collection
* automatically determines encoding
* automatically generates table of contents
* keeps the last open book and the last read positions for all open books
between runs
* automatic hyphenation (patterns for several languages are included)
.
Home page: http://www.fbreader.org/
XB-Maemo-Icon-26:
iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABmJLR0QA/wD/
AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2QEKFjEFBaQC
bAAABStJREFUSMftlsmPXFcVh79zhzfX0Gm3y+20GwcnDomMEJEVAXIk2CAG
YaYVEUhs2WWTRRbsQCzZgGADKyT2RkLKAgkiYaJsIkAx3R7iEbvT6a4eqrte
Vb07ZFHV7W6TPwAkrnSk867OO997v3N07oX/r//2JQfOlT+9ZT+xdLqXhiBl
WTYhENc2Hsn2j9/49MI4LKjLX7u9cPmr7zz9yRf90QTr+7uiXaoGdS1b21uy
v9VnY+1RlNCEb3732+E/QN//2a9/+qVLn3/9QmLlxFNt70PD8MN1Vl/7UbJ0
77Ysd8rQPPvstb9++RtXRifPP1VuPlgmNr25qlVOTp1Ni7LU7XbLdMqCTqvw
mzvbk9/+4c+j8eLp3/zyB1//uTkAPZr4Z665wr75q5+wt71pyiKn1+pQzs1z
dXWV17ulym/fupC9+ccL409tcHH0kPTUaf6tc/bEkmlDqhRaKZI0ocpzbHTs
mnwJ4BA09JFoDSsr17hz8zpoQYBQO85OFN/r72CMYrhyHbf4PH2nKUc5e16z
s7FJkIi1lixJIQoQiTEiRADUASjPC3yIKGUQLWgRtGhERVCRXQn4xjHyEU9k
f+xogiIqM9U/ggiIHKYkxgjyBKjKMyYxYo3BKIM1ljzLKfOCEzi8g2Hj6HuH
pMn0a5VCRRCtpr5SKA1KTUtflOUB57F0mTWMG48gJDYlzTKyrCBVwvm9XULj
2PeeD7SmlVXEuEkwBiOC0hpRgiCIKESmvjEJ+CdAIpHBYAgiZFlBVbVotzpk
ecqp+zfZH48JUdhpzSPtDlEZnPMYQBmDPG5gEEFESIxlEvxx6SyKwf4eRZ5T
lS263S7tToeyrKiMxUdQEhh3u4Q0Q0JAxTBNavSs+LNiAdpoqqrE+SdqZIKj
HjWkSUpRlFRVSVHk5EWBa1WUEqmAKNM+SgUSPFpAqWmaOIMIoJWmVRSznSPS
RTyT8Zhet8u4HpHlOXmeYWzCZl7RU5okETKtic2YNDqsimA1WmsAQpy2dIwR
rYQ0fSzpIagZjXEywugEY+ysIQqKvGA9BpL5ORYTz9lmj2TjIa1OSt7O+SAx
s+JD8B7nAsEHtNbkWQZhcFy6wdbONEAprDUYM21xrYXGGv5y5jnM/AlefWaR
xa0HlN0MFye4rJjKpYQQPK6Z4BqHKEWZ58gMcfhHdV1Dy9GZn6PfXwcUzjtC
tGSfe4V3rr7FP3pPUyc9Xj73AlY79PwSae8EfjxNbLQBEaJERCBJ7KxBjoC0
NnSU49IXXqH32UvUJmVdlfTrPfxwh/iZL1KlmnqiWY2OUW+R83MZ81UbY0aI
gLEWmySIKEKIpEaBhOOgIkvwSuGLioEkDCYNy8rR155+XlDfvcmWUYgWfFIx
HA3pDyFpJqjop1NBCTFmTLwD0YhAnB0UhzVSCKUEnBh6MmK5GdAUBec6GUux
Yb9oMxlssPfuVXqjXc5XCWfaOd1OSVEUlGWJtVOpvPf4EDBaMxrVT4ygxPhW
YlGDD+kkHVwzonP3PaIQ9drDcXbtn2s3Htx59+b1f71968bKuYsvXXzphedf
XDpzZrnd6XSTVquljDGilCARYgj+/dWVv6/+/hdXjh58cvnVH37n5a9863f1
yoqcXJjfvv/w3q17d99/e2Xlvb/dv3/vxs7Odj+E4GfvqJnpJEkypXSxsHCy
yLM8ESXWWuvrerh2587tW977GggHICUiutXunLLG6MFgUDfNpIkxTgDHdDSG
j7kCyMfsxVlsPGLHAg+eD+xY4P/M+ght8RxOZDxGnAAAAABJRU5ErkJggg==
====

View file

@ -0,0 +1,21 @@
#! /bin/sh
if [ -x /usr/bin/gtk-update-icon-cache ]
then
/usr/bin/gtk-update-icon-cache -f /usr/share/icons/hicolor
fi
if [ -x /usr/bin/update-desktop-database ]
then
/usr/bin/update-desktop-database
fi
if [ -x /usr/bin/update-mime-database ]
then
/usr/bin/update-mime-database /usr/share/mime
fi
if [ "$1" = "configure" -a -z "$2" -a -x /usr/bin/maemo-select-menu-location ]
then
/usr/bin/maemo-select-menu-location FBReader.desktop
fi

View file

@ -0,0 +1,16 @@
#! /bin/sh
if [ -x /usr/bin/gtk-update-icon-cache ]
then
/usr/bin/gtk-update-icon-cache -f /usr/share/icons/hicolor
fi
if [ -x /usr/bin/update-desktop-database ]
then
/usr/bin/update-desktop-database
fi
if [ -x /usr/bin/update-mime-database ]
then
/usr/bin/update-mime-database /usr/share/mime
fi

View file

@ -0,0 +1,7 @@
#! /bin/sh
set -e
if [ "$1" = "configure" ]; then
ldconfig
fi

View file

@ -0,0 +1,7 @@
#! /bin/sh
set -e
if [ "$1" = "configure" ]; then
ldconfig
fi

View file

@ -0,0 +1,2 @@
libzlcore @SOVERSIONCORE@ libzlibrary (>= @VERSION@-1), libzlibrary (<< 0.11.0-1)
libzltext @SOVERSIONTEXT@ libzlibrary (>= @VERSION@-1), libzlibrary (<< 0.11.0-1)

View file

@ -0,0 +1,66 @@
#!/usr/bin/make -f
## ----------------------------------------------------------------------
## debian/rules : package script for fbreader
## ----------------------------------------------------------------------
## ----------------------------------------------------------------------
## uncomment this to turn on verbose mode
#export DH_VERBOSE=1
## ----------------------------------------------------------------------
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
## ----------------------------------------------------------------------
DEB_DIR = $(CURDIR)/debian
## ----------------------------------------------------------------------
## targets
clean:
dh_testdir
dh_testroot
[ ! -f Makefile ] || $(MAKE) distclean
dh_clean build-stamp install-stamp
build: build-stamp
build-stamp:
dh_testdir
$(MAKE) -C zlibrary/core TARGET_ARCH=maemo UI_TYPE=maemo4
$(MAKE) -C zlibrary/text TARGET_ARCH=maemo UI_TYPE=maemo4
$(MAKE) -C zlibrary/ui TARGET_ARCH=maemo UI_TYPE=maemo4
$(MAKE) -C fbreader TARGET_ARCH=maemo UI_TYPE=maemo4
touch build-stamp
install: install-stamp
install-stamp: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
$(MAKE) -C zlibrary/core TARGET_ARCH=maemo UI_TYPE=maemo4 DESTDIR=$(DEB_DIR)/libzlibrary do_install
$(MAKE) -C zlibrary/text TARGET_ARCH=maemo UI_TYPE=maemo4 DESTDIR=$(DEB_DIR)/libzlibrary do_install
$(MAKE) -C zlibrary/ui TARGET_ARCH=maemo UI_TYPE=maemo4 DESTDIR=$(DEB_DIR)/libzlibrary do_install
$(MAKE) -C fbreader TARGET_ARCH=maemo UI_TYPE=maemo4 DESTDIR=$(DEB_DIR)/fbreader do_install
$(MAKE) -C zlibrary/core TARGET_ARCH=maemo UI_TYPE=maemo4 DESTDIR=$(DEB_DIR)/libzlibrary-dev do_install_dev
$(MAKE) -C zlibrary/text TARGET_ARCH=maemo UI_TYPE=maemo4 DESTDIR=$(DEB_DIR)/libzlibrary-dev do_install_dev
touch install-stamp
binary-indep:
binary-arch: build install
dh_testdir
dh_testroot
dh_compress -a
dh_fixperms -a
dh_installdeb -a
dh_shlibdeps -a -l $(DEB_DIR)/libzlibrary/usr/lib
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: clean build install binary-indep binary-arch binary
## ----------------------------------------------------------------------

View file

@ -0,0 +1,218 @@
fbreader (0.14.0-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 24 Mar 2010 14:49:00 +0300
fbreader (0.12.5.1-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 25 Feb 2010 17:45:00 +0300
fbreader (0.11.3-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 25 Oct 2009 21:30:07 +0200
fbreader (0.10.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 30 Mar 2009 13:29:00 +0400
fbreader (0.10.6-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 26 Mar 2009 22:15:00 +0200
fbreader (0.10.5-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 20 Mar 2009 18:12:00 +0200
fbreader (0.10.4-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 8 Feb 2009 03:24:00 +0300
fbreader (0.10.0-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 3 Aug 2008 19:01:00 +0400
fbreader (0.8.17-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 23 Mar 2008 03:30:00 +0300
fbreader (0.8.16-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 20 Mar 2008 03:10:00 +0300
fbreader (0.8.15-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 26 Feb 2008 02:41:00 +0300
fbreader (0.8.14-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 9 Feb 2008 22:48:00 +0300
fbreader (0.8.13-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 24 Jan 2008 15:24:00 +0300
fbreader (0.8.12-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 19 Jan 2008 03:47:00 +0300
fbreader (0.8.11-1) stable; urgency=low
* new upstream version
* dependency rules have been changed
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 12 Jan 2008 22:27:00 +0300
fbreader (0.8.10-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 4 Jan 2008 20:53:00 +0300
fbreader (0.8.9-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 27 Dec 2007 07:13:00 +0300
fbreader (0.8.8d-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 24 Dec 2007 10:27:00 +0300
fbreader (0.8.8c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 23 Dec 2007 08:14:00 +0300
fbreader (0.8.8b-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 20 Dec 2007 22:30:00 +0300
fbreader (0.8.8a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 17 Dec 2007 03:03:00 +0300
fbreader (0.8.8-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 23 Nov 2007 22:55:00 +0300
fbreader (0.8.7b-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 6 Nov 2007 22:55:00 +0300
fbreader (0.8.7a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 3 Nov 2007 00:00:00 +0400
fbreader (0.8.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 5 Sep 2007 00:00:00 +0400
fbreader (0.8.6d-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 7 Sep 2007 12:00:00 +0400
fbreader (0.8.6c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 30 Aug 2007 02:30:00 +0400
fbreader (0.8.6a-1) stable; urgency=low
* fixed stylus/finger pressing detection problem on Nokia 770 device
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 18:47:00 +0400
fbreader (0.8.6-3) stable; urgency=low
* fixed fbreader-maemo2 package icon
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 01:55:00 +0400
fbreader (0.8.6-2) stable; urgency=low
* fixed fbreader-maemo2 package icon
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 01:09:00 +0400
fbreader (0.8.6-1) stable; urgency=low
* new upstream version
* added libzlibrary-dev package
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 5 Aug 2007 23:49:00 +0400
fbreader (0.8.5c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 19 Jul 2007 15:20:00 +0400
fbreader (0.8.5a-1) stable; urgency=low
* new upstream version
* maemo package icon has been restored
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 7 Jul 2007 02:12:00 +0400
fbreader (0.8.5-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 7 Jul 2007 02:12:00 +0400
fbreader (0.8.4zz-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 5 Jul 2007 03:17:00 +0400
fbreader (0.8.4z-1) stable; urgency=low
* Initial release.
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 30 Jun 2007 01:48:00 +0400

View file

@ -0,0 +1 @@
4

View file

@ -0,0 +1,79 @@
Source: fbreader
Priority: optional
Maintainer: Nikolay Pultsin <geometer@fbreader.org>
Standards-Version: 3.6.1
Build-Depends: debhelper, libexpat1-dev, libbz2-dev, libz-dev, libhildon1-dev, libosso-dev, liblinebreak-dev, libfribidi-dev, libcurl3-dev, libconic0-dev, libsqlite3-dev
Package: libzlibrary
Section: user/libs
Priority: optional
Architecture: armel i386
Conflicts: fbreader (<< 0.8.0)
Depends: ${shlibs:Depends}
Description: Platform-dependent part of fbreader
Home page: http://www.fbreader.org/
Package: libzlibrary-dev
Section: libdevel
Priority: optional
Architecture: armel i386
Depends: libzlibrary (= ${Source-Version})
Description: zlibrary - development files
Home page: http://www.fbreader.org/
Package: fbreader
Section: user/tools
Priority: optional
Architecture: armel i386
Depends: ${shlibs:Depends}
Description: e-book reader
FBReader is an e-book reader for UNIX/Windows computers.
.
Main features:
* supports several open e-book formats: fb2, html, chm, plucker,
palmdoc, ztxt, tcr (psion text), rtf, oeb, openreader, non-DRM'ed
mobipocket, plain text
* reads directly from tar, zip, gzip, bzip2 archives (you can have
several books in one archive)
* supports structured view for your e-book collection
* automatically determines encoding
* automatically generates table of contents
* keeps the last open book and the last read positions for all open books
between runs
* automatic hyphenation (patterns for several languages are included)
.
Home page: http://www.fbreader.org/
XB-Maemo-Icon-26:
iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABmJLR0QA/wD/
AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2QEKFjEFBaQC
bAAABStJREFUSMftlsmPXFcVh79zhzfX0Gm3y+20GwcnDomMEJEVAXIk2CAG
YaYVEUhs2WWTRRbsQCzZgGADKyT2RkLKAgkiYaJsIkAx3R7iEbvT6a4eqrte
Vb07ZFHV7W6TPwAkrnSk867OO997v3N07oX/r//2JQfOlT+9ZT+xdLqXhiBl
WTYhENc2Hsn2j9/49MI4LKjLX7u9cPmr7zz9yRf90QTr+7uiXaoGdS1b21uy
v9VnY+1RlNCEb3732+E/QN//2a9/+qVLn3/9QmLlxFNt70PD8MN1Vl/7UbJ0
77Ysd8rQPPvstb9++RtXRifPP1VuPlgmNr25qlVOTp1Ni7LU7XbLdMqCTqvw
mzvbk9/+4c+j8eLp3/zyB1//uTkAPZr4Z665wr75q5+wt71pyiKn1+pQzs1z
dXWV17ulym/fupC9+ccL409tcHH0kPTUaf6tc/bEkmlDqhRaKZI0ocpzbHTs
mnwJ4BA09JFoDSsr17hz8zpoQYBQO85OFN/r72CMYrhyHbf4PH2nKUc5e16z
s7FJkIi1lixJIQoQiTEiRADUASjPC3yIKGUQLWgRtGhERVCRXQn4xjHyEU9k
f+xogiIqM9U/ggiIHKYkxgjyBKjKMyYxYo3BKIM1ljzLKfOCEzi8g2Hj6HuH
pMn0a5VCRRCtpr5SKA1KTUtflOUB57F0mTWMG48gJDYlzTKyrCBVwvm9XULj
2PeeD7SmlVXEuEkwBiOC0hpRgiCIKESmvjEJ+CdAIpHBYAgiZFlBVbVotzpk
ecqp+zfZH48JUdhpzSPtDlEZnPMYQBmDPG5gEEFESIxlEvxx6SyKwf4eRZ5T
lS263S7tToeyrKiMxUdQEhh3u4Q0Q0JAxTBNavSs+LNiAdpoqqrE+SdqZIKj
HjWkSUpRlFRVSVHk5EWBa1WUEqmAKNM+SgUSPFpAqWmaOIMIoJWmVRSznSPS
RTyT8Zhet8u4HpHlOXmeYWzCZl7RU5okETKtic2YNDqsimA1WmsAQpy2dIwR
rYQ0fSzpIagZjXEywugEY+ysIQqKvGA9BpL5ORYTz9lmj2TjIa1OSt7O+SAx
s+JD8B7nAsEHtNbkWQZhcFy6wdbONEAprDUYM21xrYXGGv5y5jnM/AlefWaR
xa0HlN0MFye4rJjKpYQQPK6Z4BqHKEWZ58gMcfhHdV1Dy9GZn6PfXwcUzjtC
tGSfe4V3rr7FP3pPUyc9Xj73AlY79PwSae8EfjxNbLQBEaJERCBJ7KxBjoC0
NnSU49IXXqH32UvUJmVdlfTrPfxwh/iZL1KlmnqiWY2OUW+R83MZ81UbY0aI
gLEWmySIKEKIpEaBhOOgIkvwSuGLioEkDCYNy8rR155+XlDfvcmWUYgWfFIx
HA3pDyFpJqjop1NBCTFmTLwD0YhAnB0UhzVSCKUEnBh6MmK5GdAUBec6GUux
Yb9oMxlssPfuVXqjXc5XCWfaOd1OSVEUlGWJtVOpvPf4EDBaMxrVT4ygxPhW
YlGDD+kkHVwzonP3PaIQ9drDcXbtn2s3Htx59+b1f71968bKuYsvXXzphedf
XDpzZrnd6XSTVquljDGilCARYgj+/dWVv6/+/hdXjh58cvnVH37n5a9863f1
yoqcXJjfvv/w3q17d99/e2Xlvb/dv3/vxs7Odj+E4GfvqJnpJEkypXSxsHCy
yLM8ESXWWuvrerh2587tW977GggHICUiutXunLLG6MFgUDfNpIkxTgDHdDSG
j7kCyMfsxVlsPGLHAg+eD+xY4P/M+ght8RxOZDxGnAAAAABJRU5ErkJggg==
====

View file

@ -0,0 +1,21 @@
#! /bin/sh
if [ -x /usr/bin/gtk-update-icon-cache ]
then
/usr/bin/gtk-update-icon-cache -f /usr/share/icons/hicolor
fi
if [ -x /usr/bin/update-desktop-database ]
then
/usr/bin/update-desktop-database
fi
if [ -x /usr/bin/update-mime-database ]
then
/usr/bin/update-mime-database /usr/share/mime
fi
if [ "$1" = "configure" -a -z "$2" -a -x /usr/bin/maemo-select-menu-location ]
then
/usr/bin/maemo-select-menu-location FBReader.desktop
fi

View file

@ -0,0 +1,16 @@
#! /bin/sh
if [ -x /usr/bin/gtk-update-icon-cache ]
then
/usr/bin/gtk-update-icon-cache -f /usr/share/icons/hicolor
fi
if [ -x /usr/bin/update-desktop-database ]
then
/usr/bin/update-desktop-database
fi
if [ -x /usr/bin/update-mime-database ]
then
/usr/bin/update-mime-database /usr/share/mime
fi

View file

@ -0,0 +1,7 @@
#! /bin/sh
set -e
if [ "$1" = "configure" ]; then
ldconfig
fi

View file

@ -0,0 +1,7 @@
#! /bin/sh
set -e
if [ "$1" = "configure" ]; then
ldconfig
fi

View file

@ -0,0 +1,2 @@
libzlcore @SOVERSIONCORE@ libzlibrary (>= @VERSION@-1), libzlibrary (<< 0.15.0-1)
libzltext @SOVERSIONTEXT@ libzlibrary (>= @VERSION@-1), libzlibrary (<< 0.15.0-1)

View file

@ -0,0 +1,66 @@
#!/usr/bin/make -f
## ----------------------------------------------------------------------
## debian/rules : package script for fbreader
## ----------------------------------------------------------------------
## ----------------------------------------------------------------------
## uncomment this to turn on verbose mode
#export DH_VERBOSE=1
## ----------------------------------------------------------------------
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
## ----------------------------------------------------------------------
DEB_DIR = $(CURDIR)/debian
## ----------------------------------------------------------------------
## targets
clean:
dh_testdir
dh_testroot
[ ! -f Makefile ] || $(MAKE) distclean
dh_clean build-stamp install-stamp
build: build-stamp
build-stamp:
dh_testdir
$(MAKE) -C zlibrary/core TARGET_ARCH=maemo UI_TYPE=maemo5
$(MAKE) -C zlibrary/text TARGET_ARCH=maemo UI_TYPE=maemo5
$(MAKE) -C zlibrary/ui TARGET_ARCH=maemo UI_TYPE=maemo5
$(MAKE) -C fbreader TARGET_ARCH=maemo UI_TYPE=maemo5
touch build-stamp
install: install-stamp
install-stamp: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
$(MAKE) -C zlibrary/core TARGET_ARCH=maemo UI_TYPE=maemo5 DESTDIR=$(DEB_DIR)/libzlibrary do_install
$(MAKE) -C zlibrary/text TARGET_ARCH=maemo UI_TYPE=maemo5 DESTDIR=$(DEB_DIR)/libzlibrary do_install
$(MAKE) -C zlibrary/ui TARGET_ARCH=maemo UI_TYPE=maemo5 DESTDIR=$(DEB_DIR)/libzlibrary do_install
$(MAKE) -C fbreader TARGET_ARCH=maemo UI_TYPE=maemo5 DESTDIR=$(DEB_DIR)/fbreader do_install
$(MAKE) -C zlibrary/core TARGET_ARCH=maemo UI_TYPE=maemo5 DESTDIR=$(DEB_DIR)/libzlibrary-dev do_install_dev
$(MAKE) -C zlibrary/text TARGET_ARCH=maemo UI_TYPE=maemo5 DESTDIR=$(DEB_DIR)/libzlibrary-dev do_install_dev
touch install-stamp
binary-indep:
binary-arch: build install
dh_testdir
dh_testroot
dh_compress -a
dh_fixperms -a
dh_installdeb -a
dh_shlibdeps -a -l $(DEB_DIR)/libzlibrary/usr/lib
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: clean build install binary-indep binary-arch binary
## ----------------------------------------------------------------------

View file

@ -0,0 +1,344 @@
fbreader (0.12.10-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 1 Apr 2010 13:48:00 +0300
fbreader (0.12.9-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 25 Mar 2010 02:33:00 +0300
fbreader (0.12.8-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 22 Mar 2010 21:42:00 +0300
fbreader (0.12.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 5 Mar 2010 00:39:00 +0300
fbreader (0.12.6-1) stable; urgency=low
* new upstream version
* Text selection is disabled by default. That means the tap scrolling
works faster in 200 ms.
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 2 Mar 2010 20:53:00 +0300
fbreader (0.12.5.smartq-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 21 Feb 2010 16:20:00 +0300
fbreader (0.12.2-5) stable; urgency=low
* Double-click detection is switched off if a text selection is disabled
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 16 Feb 2010 16:35:00 +0300
fbreader (0.12.2-4) stable; urgency=low
* Better solution for chm crash problem: gcc 4.3 is used instead of 4.4
* Fixed position indicator behaviour
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 14 Feb 2010 15:46:00 +0300
fbreader (0.12.2-3) stable; urgency=low
* Arabic and Chinese entries have been added to the desktop file
* A SmartQ-specific crach on chm files has been fixed
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 13 Feb 2010 14:46:00 +0300
fbreader (0.12.2-2) stable; urgency=low
* several SmartQ-specific patches have been added
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 9 Feb 2010 18:51:00 +0300
fbreader (0.12.2-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 29 Jan 2010 19:53:00 +0300
fbreader (0.12.1-2) stable; urgency=low
* cosmetical fixes
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 13 Dec 2009 11:41:00 +0300
fbreader (0.12.1-1) stable; urgency=low
* new upstream version
* updated man page
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 13 Dec 2009 09:23:00 +0300
fbreader (0.12.0-3) stable; urgency=low
* fixed rules file
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 6 Dec 2009 19:48:00 +0300
fbreader (0.12.0-2) stable; urgency=low
* fixed dependencies list
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 6 Dec 2009 19:05:00 +0300
fbreader (0.12.0-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 5 Dec 2009 03:40:00 +0300
fbreader (0.11.2-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 20 Oct 2009 13:22:00 +0400
fbreader (0.11.1-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 13 Oct 2009 23:38:00 +0400
fbreader (0.11.0-2) stable; urgency=low
* fixed package dependencies in debian files
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 26 Sep 2009 11:23:00 +0400
fbreader (0.11.0-1) stable; urgency=low
* new upstream version
-- Vasiliy Bout <bout.vasiliy@gmail.com> Wed, 16 Sep 2009 16:48:00 +0400
fbreader (0.10.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 30 Mar 2009 13:29:00 +0400
fbreader (0.10.6-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 26 Mar 2009 22:15:00 +0200
fbreader (0.10.5-1) stable; urgency=low
* new upstream version
* conflicts with ubuntu fbreader packages have been resolved
* dependencies for libzltext-dev have been fixed
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 20 Mar 2009 18:12:00 +0200
fbreader (0.10.4-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Wed, 18 Mar 2009 23:33:00 +0200
fbreader (0.10.3-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 5 Feb 2009 01:11:00 +0200
fbreader (0.10.2-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 17 Jan 2009 23:42:00 +0300
fbreader (0.10.1-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 16 Jan 2009 12:31:00 +0300
fbreader (0.10.0-1) stable; urgency=low
* new upstream version
* add-missing-headers.patch integrated into the upstream
* fix-centering-with-margins.patch integrated into the upstream
* use-sensible-browser.patch added to the upstream debian fileset
* remove-deprecated-fields-in-desktop-file.patch intgerated into the upstream
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 3 Aug 2008 19:01:00 +0400
fbreader (0.8.17-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 23 Mar 2008 03:30:00 +0300
fbreader (0.8.16-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 20 Mar 2008 03:10:00 +0300
fbreader (0.8.15-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 26 Feb 2008 02:41:00 +0300
fbreader (0.8.14-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 9 Feb 2008 22:48:00 +0300
fbreader (0.8.13-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 24 Jan 2008 15:24:00 +0300
fbreader (0.8.12-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 19 Jan 2008 03:47:00 +0300
fbreader (0.8.11-1) stable; urgency=low
* new upstream version
* dependency rules have been changed
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 12 Jan 2008 22:27:00 +0300
fbreader (0.8.10-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 4 Jan 2008 20:53:00 +0300
fbreader (0.8.9-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 27 Dec 2007 07:13:00 +0300
fbreader (0.8.8d-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 24 Dec 2007 10:27:00 +0300
fbreader (0.8.8c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sun, 23 Dec 2007 08:14:00 +0300
fbreader (0.8.8a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Mon, 17 Dec 2007 03:03:00 +0300
fbreader (0.8.8-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 23 Nov 2007 22:55:00 +0300
fbreader (0.8.7b-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 6 Nov 2007 22:55:00 +0300
fbreader (0.8.7a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Wed, 31 Oct 2007 00:00:00 +0400
fbreader (0.8.7-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 5 Oct 2007 00:00:00 +0400
fbreader (0.8.6c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 30 Aug 2007 02:30:00 +0400
fbreader (0.8.6a-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 8 Aug 2007 18:47:00 +0400
fbreader (0.8.6-1) stable; urgency=low
* new upstream version
* added libzlibrary-dev package
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 5 Aug 2007 23:49:00 +0400
fbreader (0.8.5c-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thr, 19 Jul 2007 15:20:00 +0400
fbreader (0.8.5b-1) stable; urgency=low
* new upstream version
* almost all changes from the previous change are now included into
the upstream version: zlibrary shared objects moving, rpath deletion,
and the man page.
-- Nikolay Pultsin <geometer@fbreader.org> Tue, 10 Jul 2007 21:50:00 +0400
fbreader (0.8.5a-1) unstable; urgency=low
* First upload to Debian. Closes: #432274
* Misc debianisation changes.
* Move zlibrary shared object files to /usr/lib from /usr/share.
* Remove use of rpath.
* Use sensible-browser.
* Added a basic man page.
-- Joey Hess <joeyh@debian.org> Mon, 09 Jul 2007 15:04:31 -0400
fbreader (0.8.5-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Sat, 7 Jul 2007 02:12:00 +0400
fbreader (0.8.4zz-1) stable; urgency=low
* new upstream version
-- Nikolay Pultsin <geometer@fbreader.org> Thu, 5 Jul 2007 03:17:00 +0400
fbreader (0.8.4z-2) stable; urgency=low
* postinst/postrm scripts were added
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 29 Jun 2007 21:23:00 +0400
fbreader (0.8.4z-1) stable; urgency=low
* Initial release.
-- Nikolay Pultsin <geometer@fbreader.org> Fri, 29 Jun 2007 17:53:00 +0400

View file

@ -0,0 +1 @@
5

View file

@ -0,0 +1,115 @@
Source: fbreader
Section: text
Priority: optional
Maintainer: Nikolay Pultsin <geometer@fbreader.org>
Standards-Version: 3.8.0
Build-Depends: debhelper (>= 5), libgtk2.0-dev, libqt3-mt-dev, libqt4-dev, libexpat1-dev, libbz2-dev, libz-dev, liblinebreak-dev (>= 1.0-1), libjpeg-dev, libfribidi-dev, libcurl-dev, quilt (>= 0.40), libsqlite3-dev
Package: fbreader
Priority: optional
Architecture: any
Replaces: fbreader-gtk, fbreader-qt, fbreader-qt4
Depends: ${shlibs:Depends}, libzlui
Description: e-book reader
FBReader is an e-book reader.
.
Main features:
* supports several open e-book formats: fb2, html, chm, plucker,
palmdoc, ztxt, tcr (psion text), rtf, oeb, openreader, non-DRM'ed
mobipocket, plain text
* reads directly from tar, zip, gzip, bzip2 archives (you can have
several books in one archive)
* supports a structured view of your e-book collection
* automatically determines encodings
* automatically generates a table of contents
* keeps the last open book and the last read positions for all open books
between runs
* automatic hyphenation (patterns for several languages are included)
* search and download books from network libraries
.
Homepage: http://www.fbreader.org/
Package: libzlcore
Section: libs
Priority: optional
Architecture: any
Conflicts: fbreader-gtk, fbreader-qt, fbreader-qt4
Replaces: libzlcore-data
Depends: ${shlibs:Depends}
Description: ZLibrary core
This is the core of ZLibrary, the library that the fbreader e-book reader
is based on.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.
Package: libzltext
Section: libs
Priority: optional
Architecture: any
Replaces: libzltext-data
Depends: ${shlibs:Depends}, libzlcore (= ${binary:Version})
Description: ZLibrary text model/viewer
This package provides text model/viewer part of ZLibrary.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.
Package: libzlui-gtk
Section: libs
Priority: optional
Architecture: any
Depends: ${shlibs:Depends}, libzlcore (= ${binary:Version})
Provides: libzlui
Description: GTK+ interface module for ZLibrary
This package provides a GTK+-based UI for ZLibrary.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.
Package: libzlui-qt
Section: libs
Priority: optional
Architecture: any
Depends: ${shlibs:Depends}, libzlcore (= ${binary:Version})
Provides: libzlui
Description: Qt3 interface module for ZLibrary
This package provides a Qt3-based UI for ZLibrary.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.
Package: libzlui-qt4
Section: libs
Priority: optional
Architecture: any
Depends: ${shlibs:Depends}
Provides: libzlui
Description: Qt4 interface module for ZLibrary
This package provides a Qt4-based UI for ZLibrary.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.
Package: libzlcore-dev
Section: libdevel
Priority: optional
Architecture: any
Depends: libzlcore, ${shlibs:Depends}, libzlcore (= ${binary:Version})
Description: ZLibrary core - development files
This package contains development files for the ZLibrary core.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.
Package: libzltext-dev
Section: libdevel
Priority: optional
Architecture: any
Depends: libzltext, ${shlibs:Depends}, libzltext (= ${binary:Version})
Description: ZLibrary text model/viewer - development files
This package contains development files for the ZLibrary text model/viewer
library.
.
ZLibrary is a cross-platform library to build applications running on desktop
Linux, Windows, different Linux-based PDAs using this library.

View file

@ -0,0 +1,51 @@
This is the Debian prepackaged version of FBReader.
It was originally Debianised by Nikolay Pultsin <geometer@fbreader.org>.
Sources are downloaded from its website at:
http://www.fbreader.org/
It is copyright as follows:
/*
* Copyright (C) 2004-2009 Geometer Plus <contact@geometerplus.com>
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
On Debian systems, the full text of the GPL can be found in
/usr/share/common-licenses/GPL
It also includes html entity files with these licenses:
<!-- Portions (C) International Organization for Standardization 1986
Permission to copy in any form is granted for use with
conforming SGML systems and applications as defined in
ISO 8879, provided this notice is included in all copies.
-->
<!-- Copyright (C) 2001, 2002 Organization for the Advancement of Structured
Information Standards (OASIS).
Permission to use, copy, modify and distribute this entity set
and its accompanying documentation for any purpose and without
fee is hereby granted in perpetuity, provided that the above
copyright notice and this paragraph appear in all copies. The
copyright holders make no representation about the suitability of
the entities for any purpose. It is provided "as is" without
expressed or implied warranty.
-->

View file

@ -0,0 +1,2 @@
?package(fbreader):needs="x11" section="Applications/Viewers" \
title="E-book reader" command="FBReader"

View file

@ -0,0 +1,11 @@
--- fbreader-0.10.0.orig/fbreader/data/default/external.desktop.xml
+++ fbreader-0.10.0/fbreader/data/default/external.desktop.xml
@@ -3,7 +3,7 @@
<section name="Web Browser">
<program name="%browser" protocol="execute">
<action name="openLink" command="%command"/>
- <option name="command" defaultValue="mozilla %1 &amp;"/>
+ <option name="command" defaultValue="sensible-browser %1 &amp;"/>
</program>
</section>
</ExternalPrograms>

View file

@ -0,0 +1,58 @@
--- fbreader-0.12.2.orig/fbreader/data/default/keymap.desktop.xml
+++ fbreader-0.12.2/fbreader/data/default/keymap.desktop.xml
@@ -1,36 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<keymap>
- <binding key="&lt;L&gt;" action="showLibrary"/>
- <binding key="&lt;W&gt;" action="showNetLibrary"/>
- <binding key="&lt;O&gt;" action="preferences"/>
- <binding key="&lt;LeftArrow&gt;" action="undo"/>
- <binding key="&lt;RightArrow&gt;" action="redo"/>
- <binding key="&lt;C&gt;" action="toc"/>
- <binding key="&lt;Ctrl&gt;+&lt;F&gt;" action="search"/>
- <binding key="&lt;F&gt;" action="search"/>
- <binding key="&lt;P&gt;" action="findPrevious"/>
- <binding key="&lt;F3&gt;" action="findNext"/>
- <binding key="&lt;N&gt;" action="findNext"/>
<binding key="&lt;PageDown&gt;" action="pageForward"/>
<binding key="&lt;PageUp&gt;" action="pageBackward"/>
- <binding key="&lt;DownArrow&gt;" action="lineForward"/>
- <binding key="&lt;UpArrow&gt;" action="lineBackward"/>
- <binding key="&lt;MouseScrollDown&gt;" action="mouseScrollForward"/>
- <binding key="&lt;MouseScrollUp&gt;" action="mouseScrollBackward"/>
- <binding key="&lt;Ctrl&gt;+&lt;Home&gt;" action="gotoHome"/>
- <binding key="&lt;Home&gt;" action="gotoSectionStart"/>
- <binding key="&lt;End&gt;" action="gotoSectionEnd"/>
+ <binding key="&lt;Return&gt;" action="rotate"/>
+ <binding key="&lt;FullScreen&gt;" action="toggleFullscreen"/>
<binding key="&lt;Esc&gt;" action="cancel"/>
- <binding key="&lt;=&gt;" action="increaseFont"/>
- <binding key="&lt;-&gt;" action="decreaseFont"/>
- <binding key="&lt;D&gt;" action="toggleIndicator"/>
- <binding key="&lt;Return&gt;" action="toggleFullscreen"/>
- <binding key="&lt;A&gt;" action="addBook"/>
- <binding key="&lt;I&gt;" action="bookInfo"/>
- <binding key="&lt;R&gt;" action="rotate"/>
- <binding key="&lt;Ctrl&gt;+&lt;DownArrow&gt;" action="nextTOCSection"/>
- <binding key="&lt;Ctrl&gt;+&lt;UpArrow&gt;" action="previousTOCSection"/>
- <binding key="&lt;Ctrl&gt;+&lt;C&gt;" action="copyToClipboard"/>
- <binding key="&lt;G&gt;" action="gotoPageNumber"/>
- <binding key="&lt;Z&gt;" action="debugNL"/>
</keymap>
--- fbreader-0.12.2.orig/zlibrary/ui/data/keynames.desktop-gtk.xml
+++ fbreader-0.12.2/zlibrary/ui/data/keynames.desktop-gtk.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<keynames>
+ <key code="0xFFE9" name="&lt;FullScreen&gt;"/>
<key code="0xFF1B" name="&lt;Esc&gt;"/>
<key code="0x1B" name="&lt;Esc&gt;"/>
<key code="0xFF09" name="&lt;Tab&gt;"/>
@@ -41,7 +42,6 @@
<key code="0xFFE2" name="&lt;RShift&gt;"/>
<key code="0xFFE3" name="&lt;Ctrl&gt;"/>
<key code="0xFE08" name="&lt;RCtrl&gt;"/>
- <key code="0xFFE9" name="&lt;Alt&gt;"/>
<key code="0xFFEA" name="&lt;RAlt&gt;"/>
<key code="0xFFEB" name="&lt;Win&gt;"/>
<key code="0xFF6B" name="&lt;Break&gt;"/>

View file

@ -0,0 +1,13 @@
--- fbreader-0.12.2.orig/fbreader/data/default/config.desktop.xml
+++ fbreader-0.12.2/fbreader/data/default/config.desktop.xml
@@ -4,6 +4,10 @@
<option name="Base:fontFamily" value="Georgia"/>
<option name="Base:fontSize" value="16"/>
</group>
+ <group name="Indicator">
+ <option name="Type" value="1"/>
+ <option name="Time" value="true"/>
+ </group>
<group name="Scrollings">
<option name="Delay" value="0"/>
</group>

View file

@ -0,0 +1,41 @@
--- fbreader-0.12.2.orig/zlibrary/ui/src/gtk/view/ZLGtkViewWidget.cpp
+++ fbreader-0.12.2/zlibrary/ui/src/gtk/view/ZLGtkViewWidget.cpp
@@ -203,7 +204,6 @@
ZLGtkSignalUtil::connectSignal(GTK_OBJECT(myArea), "button_release_event", GTK_SIGNAL_FUNC(mouseReleased), this);
ZLGtkSignalUtil::connectSignal(GTK_OBJECT(myArea), "motion_notify_event", GTK_SIGNAL_FUNC(mouseMoved), this);
ZLGtkSignalUtil::connectSignal(GTK_OBJECT(myArea), "expose_event", GTK_SIGNAL_FUNC(::doPaint), this);
- myRepaintBlocked = false;
}
void ZLGtkViewWidget::setScrollbarEnabled(ZLView::Direction direction, bool enabled) {
@@ -292,9 +292,7 @@
}
void ZLGtkViewWidget::repaint() {
- if (!myRepaintBlocked) {
- gtk_widget_queue_draw(myArea);
- }
+ gtk_widget_queue_draw(myArea);
}
void ZLGtkViewWidget::doPaint() {
@@ -352,9 +350,6 @@
gdk_draw_pixbuf(myArea->window, myArea->style->white_gc, myRotatedPixbuf, 0, 0, 0, 0, h, w, GDK_RGB_DITHER_NONE, 0, 0);
break;
}
- myRepaintBlocked = true;
- myApplication->refreshWindow();
- myRepaintBlocked = false;
}
GtkWidget *ZLGtkViewWidget::area() {
--- fbreader-0.12.2.orig/zlibrary/ui/src/gtk/view/ZLGtkViewWidget.h
+++ fbreader-0.12.2/zlibrary/ui/src/gtk/view/ZLGtkViewWidget.h
@@ -61,7 +61,6 @@
GdkPixbuf *myOriginalPixbuf;
GdkPixbuf *myRotatedPixbuf;
GdkImage *myImage;
- bool myRepaintBlocked;
GtkAdjustment *myVerticalAdjustment;
GtkWidget *myRightScrollBar;

View file

@ -0,0 +1,12 @@
--- fbreader-0.12.2.orig/fbreader/data/default/config.desktop.xml
+++ fbreader-0.12.2/fbreader/data/default/config.desktop.xml
@@ -9,6 +9,9 @@
<option name="PositionText" value="true"/>
<option name="Time" value="true"/>
</group>
+ <group name="Rotation">
+ <option name="Angle" value="270"/>
+ </group>
<group name="Scrollings">
<option name="Delay" value="0"/>
</group>

View file

@ -0,0 +1,14 @@
--- fbreader-0.12.2.orig/makefiles/arch/desktop.mk 2010-02-13 08:04:07.000000000 +0000
+++ fbreader-0.12.2/makefiles/arch/desktop.mk 2010-02-13 10:26:41.000000000 +0000
@@ -6,9 +6,9 @@
IMAGEDIR = $(INSTALLDIR)/share/pixmaps
APPIMAGEDIR = $(INSTALLDIR)/share/pixmaps/%APPLICATION_NAME%
-CC = gcc
+CC = gcc-4.3
AR = ar rsu
-LD = g++
+LD = g++-4.3
CFLAGS = -pipe -fno-exceptions -Wall -Wno-ctor-dtor-privacy -W -DLIBICONV_PLUG
LDFLAGS =

View file

@ -0,0 +1,10 @@
--- fbreader-0.12.2.orig/fbreader/data/default/config.desktop.xml
+++ fbreader-0.12.2/fbreader/data/default/config.desktop.xml
@@ -15,6 +15,7 @@
<option name="Delay" value="0"/>
</group>
<group name="Options">
+ <option name="IsSelectionEnabled" value="false"/>
<option name="LeftMargin" value="50"/>
<option name="RightMargin" value="50"/>
<option name="KeyDelay" value="0"/>

View file

@ -0,0 +1,7 @@
110-use-sensible-browser.patch
120-key-names-and-actions.patch
130-default-indicator.patch
140-fullscreen-scrolling.patch
150-default-rotation-direction.patch
160-use-gcc-4-3.patch
170-disable-selection-by-default.patch

View file

@ -0,0 +1,58 @@
#!/usr/bin/make -f
clean: unpatch
dh_testdir
dh_testroot
[ ! -f Makefile ] || $(MAKE) distclean
dh_clean build-stamp install-stamp
build: patch build-stamp
build-stamp:
dh_testdir
$(MAKE) -C zlibrary/core TARGET_ARCH=desktop UI_TYPE=dummy
$(MAKE) -C zlibrary/text TARGET_ARCH=desktop UI_TYPE=dummy
$(MAKE) -C zlibrary/ui TARGET_ARCH=desktop UI_TYPE=gtk
$(MAKE) -C zlibrary/ui TARGET_ARCH=desktop UI_TYPE=qt
$(MAKE) -C zlibrary/ui TARGET_ARCH=desktop UI_TYPE=qt4
$(MAKE) -C fbreader TARGET_ARCH=desktop UI_TYPE=dummy
touch build-stamp
install: DEB_DIR = $(CURDIR)/debian
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
$(MAKE) -C zlibrary/core TARGET_ARCH=desktop UI_TYPE=dummy DESTDIR=$(DEB_DIR)/libzlcore do_install
$(MAKE) -C zlibrary/text TARGET_ARCH=desktop UI_TYPE=dummy DESTDIR=$(DEB_DIR)/libzltext do_install
$(MAKE) -C zlibrary/core TARGET_ARCH=desktop UI_TYPE=dummy DESTDIR=$(DEB_DIR)/libzlcore-dev do_install_dev
$(MAKE) -C zlibrary/text TARGET_ARCH=desktop UI_TYPE=dummy DESTDIR=$(DEB_DIR)/libzltext-dev do_install_dev
$(MAKE) -C zlibrary/ui TARGET_ARCH=desktop UI_TYPE=gtk DESTDIR=$(DEB_DIR)/libzlui-gtk do_install
$(MAKE) -C zlibrary/ui TARGET_ARCH=desktop UI_TYPE=qt DESTDIR=$(DEB_DIR)/libzlui-qt do_install
$(MAKE) -C zlibrary/ui TARGET_ARCH=desktop UI_TYPE=qt4 DESTDIR=$(DEB_DIR)/libzlui-qt4 do_install
$(MAKE) -C fbreader TARGET_ARCH=desktop UI_TYPE=dummy DESTDIR=$(DEB_DIR)/fbreader do_install
touch install-stamp
binary-arch: VERSION=$(shell expr "`dpkg-parsechangelog |grep Version:`" : '.*Version: \(.*\)')
binary-arch: build install
dh_testdir
dh_testroot
dh_desktop
dh_installmenu
dh_installdocs
dh_installman fbreader/desktop/FBReader.1
dh_installchangelogs
dh_strip
dh_compress
dh_fixperms
dh_makeshlibs -plibzlcore -V"libzlcore (>= $(VERSION)),libzlcore(<< 0.13.0)"
dh_makeshlibs -plibzltext -V"libzltext (>= $(VERSION)),libzltext(<< 0.13.0)"
dh_installdeb
dh_shlibdeps -l debian/libzlcore/usr/lib:debian/libzltext/usr/lib
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-arch
include /usr/share/quilt/quilt.make

View file

@ -0,0 +1,2 @@
version=2
http://www.fbreader.org/downloads.php fbreader-sources-(.*).tgz

View file

@ -0,0 +1,9 @@
Package: fbreader-opie
Version: @VERSION@
Section: apps
Priority: extra
Architecture: arm
Depends: libqpe1, libqte2, libexpat0, bzip2
Installed-Size: @SIZE@
Maintainer: Nikolay Pultsin <geometer@fbreader.org>
Description: E-Book reader.

View file

@ -0,0 +1 @@
fbreader-opie_@VERSION@_opensimpad-0.9.0_arm.ipk

View file

@ -0,0 +1,17 @@
clean:
make -C zlibrary/core TARGET_ARCH=opensimpad-0.9.0 UI_TYPE=opie clean
make -C zlibrary/text TARGET_ARCH=opensimpad-0.9.0 UI_TYPE=opie clean
make -C zlibrary/ui TARGET_ARCH=opensimpad-0.9.0 UI_TYPE=opie clean
make -C fbreader TARGET_ARCH=opensimpad-0.9.0 UI_TYPE=opie clean
build:
make -C zlibrary/core TARGET_ARCH=opensimpad-0.9.0 UI_TYPE=opie
make -C zlibrary/text TARGET_ARCH=opensimpad-0.9.0 UI_TYPE=opie
make -C zlibrary/ui TARGET_ARCH=opensimpad-0.9.0 UI_TYPE=opie
make -C fbreader TARGET_ARCH=opensimpad-0.9.0 UI_TYPE=opie
install-fbreader:
make -C zlibrary/core TARGET_ARCH=opensimpad-0.9.0 UI_TYPE=opie do_install
make -C zlibrary/text TARGET_ARCH=opensimpad-0.9.0 UI_TYPE=opie do_install
make -C zlibrary/ui TARGET_ARCH=opensimpad-0.9.0 UI_TYPE=opie do_install
make -C fbreader TARGET_ARCH=opensimpad-0.9.0 UI_TYPE=opie do_install

View file

@ -0,0 +1,9 @@
Package: fbreader-gpe
Version: @VERSION@
Section: apps
Priority: extra
Architecture: arm
Depends: libstdc++6, libexpat0, bzip2
Installed-Size: @SIZE@
Maintainer: Nikolay Pultsin <geometer@fbreader.org>
Description: E-Book reader.

View file

@ -0,0 +1 @@
fbreader-gpe_@VERSION@_openzaurus_240x320_arm.ipk

View file

@ -0,0 +1,9 @@
Package: fbreader-gpe
Version: @VERSION@
Section: apps
Priority: extra
Architecture: arm
Depends: libstdc++6, libexpat0, bzip2
Installed-Size: @SIZE@
Maintainer: Nikolay Pultsin <geometer@fbreader.org>
Description: E-Book reader.

View file

@ -0,0 +1 @@
fbreader-gpe_@VERSION@_openzaurus_640x480_arm.ipk

View file

@ -0,0 +1,23 @@
clean:
make -C zlibrary/core TARGET_ARCH=openzaurus UI_TYPE=gpe clean
make -C zlibrary/text TARGET_ARCH=openzaurus UI_TYPE=gpe clean
make -C zlibrary/ui TARGET_ARCH=openzaurus UI_TYPE=gpe clean
make -C fbreader TARGET_ARCH=openzaurus UI_TYPE=gpe clean
build:
make -C zlibrary/core TARGET_ARCH=openzaurus UI_TYPE=gpe
make -C zlibrary/text TARGET_ARCH=openzaurus UI_TYPE=gpe
make -C zlibrary/ui TARGET_ARCH=openzaurus UI_TYPE=gpe
make -C fbreader TARGET_ARCH=openzaurus UI_TYPE=gpe
install-240x320:
make -C zlibrary/core TARGET_ARCH=openzaurus UI_TYPE=gpe do_install
make -C zlibrary/text TARGET_ARCH=openzaurus UI_TYPE=gpe do_install
make -C zlibrary/ui TARGET_ARCH=openzaurus UI_TYPE=gpe do_install
make -C fbreader TARGET_ARCH=openzaurus UI_TYPE=gpe RESOLUTION=240x320 do_install
install-640x480:
make -C zlibrary/core TARGET_ARCH=openzaurus UI_TYPE=gpe do_install
make -C zlibrary/text TARGET_ARCH=openzaurus UI_TYPE=gpe do_install
make -C zlibrary/ui TARGET_ARCH=openzaurus UI_TYPE=gpe do_install
make -C fbreader TARGET_ARCH=openzaurus UI_TYPE=gpe RESOLUTION=640x480 do_install

View file

@ -0,0 +1,9 @@
Package: fbreader-opie
Version: @VERSION@
Section: apps
Priority: extra
Architecture: arm
Depends: libqpe1, libqte2, libexpat0, bzip2
Installed-Size: @SIZE@
Maintainer: Nikolay Pultsin <geometer@fbreader.org>
Description: E-Book reader.

View file

@ -0,0 +1 @@
fbreader-opie_@VERSION@_openzaurus_240x320_arm.ipk

View file

@ -0,0 +1,9 @@
Package: fbreader-opie
Version: @VERSION@
Section: apps
Priority: extra
Architecture: arm
Depends: libqpe1, libqte2, libexpat0, bzip2
Installed-Size: @SIZE@
Maintainer: Nikolay Pultsin <geometer@fbreader.org>
Description: E-Book reader.

View file

@ -0,0 +1 @@
fbreader-opie_@VERSION@_openzaurus_640x480_arm.ipk

View file

@ -0,0 +1,23 @@
clean:
make -C zlibrary/core TARGET_ARCH=openzaurus UI_TYPE=opie clean
make -C zlibrary/text TARGET_ARCH=openzaurus UI_TYPE=opie clean
make -C zlibrary/ui TARGET_ARCH=openzaurus UI_TYPE=opie clean
make -C fbreader TARGET_ARCH=openzaurus UI_TYPE=opie clean
build:
make -C zlibrary/core TARGET_ARCH=openzaurus UI_TYPE=opie
make -C zlibrary/text TARGET_ARCH=openzaurus UI_TYPE=opie
make -C zlibrary/ui TARGET_ARCH=openzaurus UI_TYPE=opie
make -C fbreader TARGET_ARCH=openzaurus UI_TYPE=opie
install-240x320:
make -C zlibrary/core TARGET_ARCH=openzaurus UI_TYPE=opie do_install
make -C zlibrary/text TARGET_ARCH=openzaurus UI_TYPE=opie do_install
make -C zlibrary/ui TARGET_ARCH=openzaurus UI_TYPE=opie do_install
make -C fbreader TARGET_ARCH=openzaurus UI_TYPE=opie RESOLUTION=240x320 do_install
install-640x480:
make -C zlibrary/core TARGET_ARCH=openzaurus UI_TYPE=opie do_install
make -C zlibrary/text TARGET_ARCH=openzaurus UI_TYPE=opie do_install
make -C zlibrary/ui TARGET_ARCH=openzaurus UI_TYPE=opie do_install
make -C fbreader TARGET_ARCH=openzaurus UI_TYPE=opie RESOLUTION=640x480 do_install

View file

@ -0,0 +1,10 @@
Package: FBReader
Version: @VERSION@
Filename: ./FBReader_@VERSION@_pdaxrom_armv5tel.ipk
Depends: expat,bzip2
Priority: optional
Section: Office
Maintainer: Nikolay Pultsin <geometer@fbreader.org>
Architecture: armv5tel
License: GPLv2
Description: e-book reader (http://www.fbreader.org/)

View file

@ -0,0 +1,16 @@
build:
@make -C zlibrary/core TARGET_ARCH=pdaxrom UI_TYPE=dummy
@make -C zlibrary/text TARGET_ARCH=pdaxrom UI_TYPE=dummy
@make -C zlibrary/ui TARGET_ARCH=pdaxrom UI_TYPE=gtk
@make -C zlibrary/ui TARGET_ARCH=pdaxrom UI_TYPE=qt
@make -C fbreader TARGET_ARCH=pdaxrom UI_TYPE=dummy
clean:
@make TARGET_ARCH=pdaxrom UI_TYPE=dummy clean
install-fbreader:
@make -C zlibrary/core TARGET_ARCH=pdaxrom UI_TYPE=dummy DESTDIR=$(DESTDIR) do_install
@make -C zlibrary/text TARGET_ARCH=pdaxrom UI_TYPE=dummy DESTDIR=$(DESTDIR) do_install
@make -C zlibrary/ui TARGET_ARCH=pdaxrom UI_TYPE=gtk DESTDIR=$(DESTDIR) do_install
@make -C zlibrary/ui TARGET_ARCH=pdaxrom UI_TYPE=qt DESTDIR=$(DESTDIR) do_install
@make -C fbreader TARGET_ARCH=pdaxrom UI_TYPE=dummy DESTDIR=$(DESTDIR) do_install

Some files were not shown because too many files have changed in this diff Show more