23 コミット

作成者 SHA1 メッセージ 日付
a9d51054b0 update CHANGELOG 2024-05-23 18:47:42 +02:00
78962ad4e2 sqlitedbservice: Move to BEGIN IMMEDIATE TRANSACTION,finish queries 2024-05-23 18:47:34 +02:00
b0c0e34a25 COPYING: Update copyright year... 2024-05-23 18:44:35 +02:00
241c3c40be gui: Disable 'Delete path' button during indexing 2024-05-23 18:44:09 +02:00
36aedc7445 sqlitedbservice: Only add non-empty outline entries 2024-05-23 18:18:23 +02:00
99dce53a6d sqlitedbservice,indexer: Add runWalCheckpoint() and call it after indexing 2024-05-23 18:16:41 +02:00
048b90ad85 shared: document*.cpp: Fix type mismatch, causing problems in qt6 2024-05-23 18:14:21 +02:00
552f058370 qt6: wildcardmatcher: use correct option for QRegularExpression::wildcardToRegularExpression() 2024-05-23 18:13:30 +02:00
09ae06532d Switch sqlite db to WAL mode 2024-05-23 18:08:09 +02:00
abb05aac62 tree: Move to Qt6 2024-05-20 19:15:31 +02:00
cd98fe1fbb gui: PreviewCoordinator: Forward error() signal of client 2024-05-20 19:04:46 +02:00
02dd7b64b5 gui: PreviewGeneratorOdt: Adjust for DocumentProcessResult 2023-05-14 14:28:11 +02:00
7c30124743 fixup! shared: Add DocumentProcessResult 2023-05-14 14:27:22 +02:00
6a8323f2cf cli: cli.pro: Add poppler include path 2023-05-14 14:27:06 +02:00
763bc47a89 shared: LooqsQuery: Add outline search filters 2023-05-14 14:23:57 +02:00
517e62dca2 shared: sqlitesearch: Begin outline search 2023-05-14 14:23:21 +02:00
0f47f581b3 shared: SqliteDbService: Add insertOutline(), Use DocumentProcessResult 2023-05-14 14:21:22 +02:00
18b18d5103 shared: FileSaver: Use DocumentProcessResult 2023-05-14 14:20:25 +02:00
f4eed7a6ef fixup! shared: processors: Use DocumentProcessResult instead of PageData vector 2023-05-14 14:19:28 +02:00
6878f7846a shared: token: Add FILTER_OUTLINE_CONTAINS 2023-05-14 14:19:07 +02:00
b2ae0e488f PdfProcessor: Extract outline from documents 2023-05-14 14:15:50 +02:00
02a371b81e shared: processors: Use DocumentProcessResult instead of PageData vector 2023-05-14 14:14:59 +02:00
d960570171 shared: Add DocumentProcessResult
This should be returned by processors
2023-05-14 14:07:15 +02:00
7個のファイルの変更53行の追加20行の削除

ファイルの表示

@ -1,15 +1,13 @@
# looqs: Release notes
## 2024-07-21 - v0.10
## 2024-05-xx - v0.10
CHANGES:
- Move to Qt6, drop Qt5 support.
- Index ToC of PDFs
- ToC can be searched with filter: toc:(query). (Basic, more to come).
- sqlite: Improvements so rare "database locked" errors don't occur.
- sandbox: Disable mechanisms based on namespaces (for now), as we no longer can assume them to be available
on some distros such as Ubuntu 24.04. Needs some clean solution.
- Minor fixes
- Add package for Ubuntu 24.04.
- Drop support for tarball with pre-built binaries. It may or may not return in future releases.
- Add packages: Ubuntu 23.10.
- Remove packages: Ubuntu 22.10
## 2023-05-07 - v0.9
Highlights: Tag support. Also begin new index mode to only index metadata (currently only path + file size, more to come).

ファイルの表示

@ -28,7 +28,7 @@ There is no need to write the long form of filters. There are also booleans avai
The screenshots in this section may occasionally be slightly outdated, but they are usually recent enough to get an overall impression of the current state of the GUI.
## Current status
Latest version: 2024-07-21, v0.10
Latest version: 2023-05-07, v0.9
Please keep in mind: looqs is still at an early stage and may exhibit some weirdness and contain bugs.
@ -76,8 +76,19 @@ To build on Ubuntu and Debian, clone the repo and then run:
```
git submodule init
git submodule update
sudo apt install build-essential qt6-base-dev libqt6sql6-sqlite libpoppler-qt6-dev libuchardet-dev libquazip1-qt6-dev
qmake6
sudo apt install build-essential qtbase5-dev libqt5sql5-sqlite libpoppler-qt5-dev libuchardet-dev libquazip5-dev
qmake
make
```
### Void
```
# as root
xbps-install qt5-devel poppler-qt5-devel quazip-qt5-devel uchardet-devel gcc make
# as user
git submodule init
git submodule update
qmake
make
```
@ -88,7 +99,7 @@ At this point, looqs is not in any official distro package repo, but I maintain
### Ubuntu 24.04
### Ubuntu 23.04, 22.10, 22.04
Latest release can be installed using apt from the repo.
```
# First, obtain key, assume it's trusted.
@ -102,6 +113,29 @@ sudo apt-get install looqs
### Gentoo (EXPERIMENTAL)
Available in this overlay: https://github.com/quitesimpleorg/quitesimple-overlay
### Prebuilt tarball (distro-agnostic) (EXPERIMENTAL)
looqs is also distributed as a tarball containing prebuilt binaries and its library dependencies. The tarball is
built using the Gentoo Hardened toolchain and the Qt version is smaller than what distributions usually
include. It does not include libraries that should mess with fontrendering or the graphics stack. The binaries should run on any recent Linux distribution (requires glibc 2.34 or newer at least) and expects
dependencies such as libGL to be provided by your distribution already (should be the case).
It's considered experimental for two reasons. Firstly, looqs has no updater (yet). You will have to manually check for updates. Secondly, I can't guarantee that I'll be quick with updates of the tarball specifically if the library versions become outdated between looqs updates.
You are therefore encouraged to use distro-native packages or to build it yourself if possible.
The tarball can be obtained here: https://repo.quitesimple.org/tarball/looqs
Quick start:
```
# Verify sig, see the end of this document: gpg --verify looqs-v0.4.tar.xz.sig
tar xf looqs-v0.4.tar.xz # Replace with the actual version you have obtained
cd looqs-v0.4
./looqs-gui # or ./looqs for the CLI
```
An AppImage may accompany the tarball in the future.
### Other distros
I appreciate help for others distros. If you create a package, let me know!

ファイルの表示

@ -25,10 +25,11 @@ void enableIpcSandbox()
qCritical() << "Failed to init policy for sandbox";
exit(EXIT_FAILURE);
}
policy->namespace_options = 0;
policy->namespace_options = EXILE_UNSHARE_USER | EXILE_UNSHARE_MOUNT | EXILE_UNSHARE_NETWORK;
policy->no_new_privs = 1;
policy->drop_caps = 0;
policy->drop_caps = 1;
policy->vow_promises = exile_vows_from_str("thread cpath rpath wpath unix stdio proc error");
policy->mount_path_policies_to_chroot = 1;
QString ipcSocketPath = Common::ipcSocketPath();
QFileInfo info{ipcSocketPath};

ファイルの表示

@ -319,9 +319,7 @@ void MainWindow::startIndexing()
}
this->indexer->setTargetPaths(paths);
QString ignorePatterns = ui->txtIgnorePatterns->text();
QStringList patterns = ignorePatterns.split(";");
patterns.removeAll(QString{});
this->indexer->setIgnorePattern(patterns);
this->indexer->setIgnorePattern(ignorePatterns.split(";"));
FileSaverOptions options;
options.fillExistingContentless =

ファイルの表示

@ -30,7 +30,7 @@ void Indexer::beginIndexing()
pattern += "/";
}
pattern += "*";
ignoreList.append(pattern);
ignoreList.append(excludedPath);
}
ignoreList.append(this->ignorePattern);
wildcardMatcher.setPatterns(ignoreList);

ファイルの表示

@ -36,18 +36,20 @@ void SandboxedProcessor::enableSandbox(QString readablePath)
if(policy == NULL)
{
qCritical() << "Could not init exile" << Qt::endl;
exit(PROCESSFAIL);
exit(EXIT_FAILURE);
}
policy->namespace_options = 0;
policy->namespace_options = EXILE_UNSHARE_NETWORK | EXILE_UNSHARE_USER;
std::string readablePathLocation;
if(!readablePath.isEmpty())
{
policy->namespace_options |= EXILE_UNSHARE_MOUNT;
policy->mount_path_policies_to_chroot = 1;
readablePathLocation = readablePath.toStdString();
if(exile_append_path_policies(policy, EXILE_FS_ALLOW_ALL_READ, readablePathLocation.c_str()) != 0)
{
qCritical() << "Failed to add path policies";
exit(PROCESSFAIL);
exit(EXIT_FAILURE);
}
}
else
@ -58,7 +60,7 @@ void SandboxedProcessor::enableSandbox(QString readablePath)
if(ret != 0)
{
qCritical() << "Failed to establish sandbox: " << ret;
exit(PROCESSFAIL);
exit(EXIT_FAILURE);
}
exile_free_policy(policy);
}

サブモジュール submodules/exile.h が更新されました: 4cfdead5d0...44b9a17bec