@@ -2,22 +2,18 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Licensed under the GNU General Public License, version 3.
|
# Licensed under the GNU General Public License, version 3.
|
||||||
# See the file http://www.gnu.org/licenses/gpl.txt
|
# See the file https://www.gnu.org/licenses/gpl-3.0.txt
|
||||||
|
|
||||||
from pisi.actionsapi import shelltools
|
from pisi.actionsapi import shelltools, autotools, pisitools, get
|
||||||
from pisi.actionsapi import qt5
|
|
||||||
from pisi.actionsapi import pisitools
|
|
||||||
from pisi.actionsapi import autotools
|
|
||||||
from pisi.actionsapi import get
|
|
||||||
|
|
||||||
|
|
||||||
#WorkDir = "ClamAV-GUI/"
|
|
||||||
|
|
||||||
def setup():
|
def setup():
|
||||||
shelltools.system("qmake -r PREFIX=/usr clamav-gui.pro")
|
shelltools.system("sed -i '/^documents.*doc/s/ClamAV-GUI/clamav-gui/' clamav-gui.pro")
|
||||||
|
shelltools.system("qmake-qt6 PREFIX=/usr clamav-gui.pro")
|
||||||
|
|
||||||
def build():
|
def build():
|
||||||
autotools.make()
|
autotools.make()
|
||||||
|
|
||||||
def install():
|
def install():
|
||||||
autotools.rawInstall("INSTALL_ROOT=%s" % get.installDIR())
|
autotools.rawInstall("INSTALL_ROOT=%s" % get.installDIR())
|
||||||
|
|
||||||
|
pisitools.dodoc("LICENSE")
|
||||||
|
|||||||
@@ -0,0 +1,125 @@
|
|||||||
|
diff --git a/src/highlighter.cpp b/src/highlighter.cpp
|
||||||
|
index 7b8bf23..bdc4732 100644
|
||||||
|
--- a/src/highlighter.cpp
|
||||||
|
+++ b/src/highlighter.cpp
|
||||||
|
@@ -29,7 +29,7 @@ highlighter::highlighter(QTextDocument * parent) : QSyntaxHighlighter(parent)
|
||||||
|
|
||||||
|
singleLineCommentFormat.setForeground(Qt::blue);
|
||||||
|
singleLineCommentFormat.setBackground(Qt::white);
|
||||||
|
- rule.pattern = QRegExp("^Downloading.*|^ClamInotif:|.-> .*|^/.*|^Database updated.*|^ClamAV update process started.*|^---.*|.Testing database:*|.Database Test passed.");
|
||||||
|
+ rule.pattern = QRegularExpression("^Downloading.*|^ClamInotif:|.-> .*|^/.*|^Database updated.*|^ClamAV update process started.*|^---.*|.Testing database:*|.Database Test passed.");
|
||||||
|
singleLineCommentFormat.setFontWeight(QFont::Normal);
|
||||||
|
rule.format = singleLineCommentFormat;
|
||||||
|
highlightingRules.append(rule);
|
||||||
|
@@ -37,52 +37,55 @@ highlighter::highlighter(QTextDocument * parent) : QSyntaxHighlighter(parent)
|
||||||
|
singleLineCommentFormat.setForeground(QColor(0x4f,0x7e,0x8a,0xff));
|
||||||
|
singleLineCommentFormat.setBackground(Qt::white);
|
||||||
|
singleLineCommentFormat.setFontWeight(QFont::Bold);
|
||||||
|
- rule.pattern = QRegExp("^Known viruses:.|^Engine version:.|^Data scanned:.|^Data read:.|^Time:.|^Start Date:.|^End Date:.");
|
||||||
|
+ rule.pattern = QRegularExpression("^Known viruses:.|^Engine version:.|^Data scanned:.|^Data read:.|^Time:.|^Start Date:.|^End Date:.");
|
||||||
|
rule.format = singleLineCommentFormat;
|
||||||
|
highlightingRules.append(rule);
|
||||||
|
|
||||||
|
singleLineCommentFormat.setForeground(Qt::darkGreen);
|
||||||
|
singleLineCommentFormat.setBackground(Qt::white);
|
||||||
|
singleLineCommentFormat.setFontWeight(QFont::Normal);
|
||||||
|
- rule.pattern = QRegExp("LOCAL:|OLE2:|Phishing:|Heuristic:|Structured:|Local:|Limits:|.enabled|.disabled|.watching .*|^daily.cvd.*|^daily.cld.*|^bytecode.cvd.*|^main.cvd.*|^freshclam deamon.*|. OK|^Scanned directories:.|^Scanned files:.|^Infected files: 0");
|
||||||
|
+ rule.pattern = QRegularExpression("LOCAL:|OLE2:|Phishing:|Heuristic:|Structured:|Local:|Limits:|.enabled|.disabled|.watching .*|^daily.cvd.*|^daily.cld.*|^bytecode.cvd.*|^main.cvd.*|^freshclam deamon.*|. OK|^Scanned directories:.|^Scanned files:.|^Infected files: 0");
|
||||||
|
rule.format = singleLineCommentFormat;
|
||||||
|
highlightingRules.append(rule);
|
||||||
|
|
||||||
|
singleLineCommentFormat.setForeground(Qt::darkYellow);
|
||||||
|
singleLineCommentFormat.setBackground(Qt::white);
|
||||||
|
singleLineCommentFormat.setFontWeight(QFont::Normal);
|
||||||
|
- rule.pattern = QRegExp(".Pid file removed.|. Started at.*|. Stopped at.*|.Socket file removed.");
|
||||||
|
+ rule.pattern = QRegularExpression(".Pid file removed.|. Started at.*|. Stopped at.*|.Socket file removed.");
|
||||||
|
rule.format = singleLineCommentFormat;
|
||||||
|
highlightingRules.append(rule);
|
||||||
|
|
||||||
|
singleLineCommentFormat.setForeground(Qt::red);
|
||||||
|
singleLineCommentFormat.setBackground(Qt::white);
|
||||||
|
singleLineCommentFormat.setFontWeight(QFont::Normal);
|
||||||
|
- rule.pattern = QRegExp("^ERROR: ClamCom:|.Empty file|^WARN.*|.FOUND *|.ERROR:.*|.WARNING:.*|^Can't connect to port.*|.Access denied|^Infected files:.|^Total errors:.*");
|
||||||
|
+ rule.pattern = QRegularExpression("^ERROR: ClamCom:|.Empty file|^WARN.*|.FOUND *|.ERROR:.*|.WARNING:.*|^Can't connect to port.*|.Access denied|^Infected files:.|^Total errors:.*");
|
||||||
|
rule.format = singleLineCommentFormat;
|
||||||
|
highlightingRules.append(rule);
|
||||||
|
|
||||||
|
multiLineCommentFormat.setForeground(Qt::red);
|
||||||
|
singleLineCommentFormat.setBackground(Qt::white);
|
||||||
|
singleLineCommentFormat.setFontWeight(QFont::Normal);
|
||||||
|
- commentStartExpression = QRegExp("START");
|
||||||
|
- commentEndExpression = QRegExp("ENDE");
|
||||||
|
+ commentStartExpression = QRegularExpression("START");
|
||||||
|
+ commentEndExpression = QRegularExpression("ENDE");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void highlighter::highlightBlock(const QString &text)
|
||||||
|
{
|
||||||
|
foreach (const HighlightingRule &rule, highlightingRules) {
|
||||||
|
- QRegExp expression(rule.pattern);
|
||||||
|
- int index = expression.indexIn(text);
|
||||||
|
- while (index >= 0) {
|
||||||
|
- int length = expression.matchedLength();
|
||||||
|
+ QRegularExpression expression(rule.pattern);
|
||||||
|
+ QRegularExpressionMatchIterator iterator = expression.globalMatch(text);
|
||||||
|
+
|
||||||
|
+ while (iterator.hasNext()) {
|
||||||
|
+ QRegularExpressionMatch match = iterator.next();
|
||||||
|
+ int length = match.capturedLength();
|
||||||
|
+ int index = match.capturedStart();
|
||||||
|
setFormat(index, length, rule.format);
|
||||||
|
- index = expression.indexIn(text, index + length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-
|
||||||
|
- setCurrentBlockState(0);
|
||||||
|
+
|
||||||
|
+// Es scheint, als wäre der restliche Block obsolet ....
|
||||||
|
+/* setCurrentBlockState(0);
|
||||||
|
|
||||||
|
int startIndex = 0;
|
||||||
|
if (previousBlockState() != 1) startIndex = commentStartExpression.indexIn(text);
|
||||||
|
@@ -94,10 +97,9 @@ void highlighter::highlightBlock(const QString &text)
|
||||||
|
setCurrentBlockState(1);
|
||||||
|
commentLength = text.length() - startIndex;
|
||||||
|
} else {
|
||||||
|
- commentLength = endIndex - startIndex
|
||||||
|
- + commentEndExpression.matchedLength();
|
||||||
|
+ commentLength = endIndex - startIndex + commentEndExpression.matchedLength();
|
||||||
|
}
|
||||||
|
startIndex = commentStartExpression.indexIn(text, startIndex + commentLength);
|
||||||
|
- }
|
||||||
|
+ }*/
|
||||||
|
}
|
||||||
|
//
|
||||||
|
diff --git a/src/highlighter.h b/src/highlighter.h
|
||||||
|
index 93782c9..b7aa26f 100644
|
||||||
|
--- a/src/highlighter.h
|
||||||
|
+++ b/src/highlighter.h
|
||||||
|
@@ -22,6 +22,7 @@
|
||||||
|
#define HIGHLIGHTER_H
|
||||||
|
//
|
||||||
|
#include <QSyntaxHighlighter>
|
||||||
|
+#include <QRegularExpression>
|
||||||
|
//
|
||||||
|
class highlighter : public QSyntaxHighlighter
|
||||||
|
{
|
||||||
|
@@ -34,14 +35,13 @@ public:
|
||||||
|
private:
|
||||||
|
struct HighlightingRule
|
||||||
|
{
|
||||||
|
- QRegExp pattern;
|
||||||
|
+ QRegularExpression pattern;
|
||||||
|
QTextCharFormat format;
|
||||||
|
};
|
||||||
|
-
|
||||||
|
QVector<HighlightingRule> highlightingRules;
|
||||||
|
|
||||||
|
- QRegExp commentStartExpression;
|
||||||
|
- QRegExp commentEndExpression;
|
||||||
|
+ QRegularExpression commentStartExpression;
|
||||||
|
+ QRegularExpression commentEndExpression;
|
||||||
|
|
||||||
|
QTextCharFormat keywordFormat;
|
||||||
|
QTextCharFormat classFormat;
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
diff -Nuar a/src/qroundprogressbar.cpp b/src/qroundprogressbar.cpp
|
|
||||||
--- a/src/qroundprogressbar.cpp 2018-03-10 14:17:40.000000000 +0300
|
|
||||||
+++ b/src/qroundprogressbar.cpp 2021-02-01 11:19:45.693950956 +0300
|
|
||||||
@@ -20,6 +20,7 @@
|
|
||||||
#include "qroundprogressbar.h"
|
|
||||||
|
|
||||||
#include <QtGui/QPainter>
|
|
||||||
+#include <QPainterPath>
|
|
||||||
|
|
||||||
|
|
||||||
QRoundProgressBar::QRoundProgressBar(QWidget *parent) :
|
|
||||||
diff -Nuar a/src/qroundprogressbar.h b/src/qroundprogressbar.h
|
|
||||||
--- a/src/qroundprogressbar.h 2018-03-10 14:17:40.000000000 +0300
|
|
||||||
+++ b/src/qroundprogressbar.h 2021-02-01 11:18:48.379955092 +0300
|
|
||||||
@@ -20,6 +20,7 @@
|
|
||||||
#define QROUNDPROGRESSBAR_H
|
|
||||||
|
|
||||||
#include <QWidget>
|
|
||||||
+#include <QPainterPath>
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief The QRoundProgressBar class represents a circular progress bar and maintains its API
|
|
||||||
@@ -1,24 +1,26 @@
|
|||||||
<?xml version="1.0" ?>
|
<?xml version="1.0" ?>
|
||||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
<!DOCTYPE PISI SYSTEM "https://pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||||
<PISI>
|
<PISI>
|
||||||
<Source>
|
<Source>
|
||||||
<Name>clamav-gui</Name>
|
<Name>clamav-gui</Name>
|
||||||
|
<Homepage>https://github.com/wusel1007/clamav-gui</Homepage>
|
||||||
<Packager>
|
<Packager>
|
||||||
<Name>Ali Cengiz Kurt</Name>
|
<Name>Kamil Atlı</Name>
|
||||||
<Email>alicengizkurt@gmail.com</Email>
|
<Email>suvari@pisilinux.org</Email>
|
||||||
</Packager>
|
</Packager>
|
||||||
<License>GPLv3+</License>
|
|
||||||
<IsA>app:gui</IsA>
|
<IsA>app:gui</IsA>
|
||||||
<Summary>ClamAV-Gui.</Summary>
|
<License>GPLv3</License>
|
||||||
<Description>ClamAV-Gui is a graphical interface for ClamAV antivirus software</Description>
|
<PartOf>util.anivirus</PartOf>
|
||||||
<License>GPL3</License>
|
<Summary>Front-End for ClamAV.</Summary>
|
||||||
<Archive sha1sum="fcb6371f35160237805a4808968c52c30fd4e51e" type="targz">https://sourceforge.net/projects/pisilinux/files/source/ClamAV-GUI-0.4.2.tgz/download</Archive>
|
<Description>ClamAV-Gui is a graphical interface for ClamAV antivirus software.</Description>
|
||||||
|
<Archive sha1sum="faa16c489b0e73133c83500a1802827ee0fe1d4a" type="targz">https://github.com/wusel1007/clamav-gui/archive/v1.1.3/clamav-gui-1.1.3.tar.gz</Archive>
|
||||||
<BuildDependencies>
|
<BuildDependencies>
|
||||||
<Dependency>clamav-devel</Dependency>
|
<Dependency>clamav-devel</Dependency>
|
||||||
<Dependency>qt5-base-devel</Dependency>
|
<Dependency>qt6-base-devel</Dependency>
|
||||||
</BuildDependencies>
|
</BuildDependencies>
|
||||||
<Patches>
|
<Patches>
|
||||||
<Patch level="1">qt5.patch</Patch>
|
<!-- <Patch level="1"></Patch> -->
|
||||||
|
<Patch level="1">qregexp.patch</Patch>
|
||||||
</Patches>
|
</Patches>
|
||||||
</Source>
|
</Source>
|
||||||
|
|
||||||
@@ -27,20 +29,23 @@
|
|||||||
<Icon>clamav-gui</Icon>
|
<Icon>clamav-gui</Icon>
|
||||||
<RuntimeDependencies>
|
<RuntimeDependencies>
|
||||||
<Dependency>clamav</Dependency>
|
<Dependency>clamav</Dependency>
|
||||||
<Dependency>qt5-base</Dependency>
|
|
||||||
<Dependency>libgcc</Dependency>
|
<Dependency>libgcc</Dependency>
|
||||||
|
<Dependency>qt6-base</Dependency>
|
||||||
</RuntimeDependencies>
|
</RuntimeDependencies>
|
||||||
<Files>
|
<Files>
|
||||||
<Path fileType="executable">/usr/bin</Path>
|
<Path fileType="executable">/usr/bin</Path>
|
||||||
<Path fileType="data">/usr/share/icons</Path>
|
<Path fileType="data">/usr/share</Path>
|
||||||
<Path fileType="data">/usr/share/applications</Path>
|
|
||||||
<Path fileType="doc">/usr/share/doc</Path>
|
|
||||||
<Path fileType="manfile">/usr/share/man</Path>
|
|
||||||
<Path fileType="pofile">/usr/share/clamav-gui</Path>
|
|
||||||
</Files>
|
</Files>
|
||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<History>
|
||||||
|
<Update release="3">
|
||||||
|
<Date>2025-04-19</Date>
|
||||||
|
<Version>1.1.3</Version>
|
||||||
|
<Comment>Version bump.</Comment>
|
||||||
|
<Name>Kamil Atlı</Name>
|
||||||
|
<Email>suvari@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
<Update release="2">
|
<Update release="2">
|
||||||
<Date>2021-01-31</Date>
|
<Date>2021-01-31</Date>
|
||||||
<Version>0.4.2</Version>
|
<Version>0.4.2</Version>
|
||||||
|
|||||||
@@ -4,36 +4,31 @@
|
|||||||
# Licensed under the GNU General Public License, version 3.
|
# Licensed under the GNU General Public License, version 3.
|
||||||
# See the file https://www.gnu.org/licenses/gpl-3.0.txt
|
# See the file https://www.gnu.org/licenses/gpl-3.0.txt
|
||||||
|
|
||||||
from pisi.actionsapi import shelltools, mesontools, cmaketools, pisitools, get
|
from pisi.actionsapi import mesontools, cmaketools, pisitools
|
||||||
|
|
||||||
j = ''.join([
|
j = ''.join([
|
||||||
' -DCMAKE_BUILD_TYPE=None',
|
' -DCMAKE_BUILD_TYPE=None',
|
||||||
' -DENABLE_EXAMPLES=ON',
|
' -DENABLE_EXAMPLES=ON',
|
||||||
' -DENABLE_MILTER=OFF',
|
' -DENABLE_{MILTER,SYSTEMD}=OFF',
|
||||||
' -DENABLE_SYSTEMD=OFF',
|
|
||||||
' -DAPP_CONFIG_DIRECTORY=/etc/clamav',
|
' -DAPP_CONFIG_DIRECTORY=/etc/clamav',
|
||||||
' -DDATABASE_DIRECTORY=/var/lib/clamav',
|
' -DDATABASE_DIRECTORY=/var/lib/clamav',
|
||||||
' -B_build -G Ninja -L '
|
' -Bbuild -G Ninja -L '
|
||||||
])
|
])
|
||||||
|
|
||||||
def setup():
|
def setup():
|
||||||
shelltools.export("CFLAGS", "%s -I/usr/include/iconv " % get.CFLAGS())
|
|
||||||
cmaketools.configure(j)
|
cmaketools.configure(j)
|
||||||
|
|
||||||
def build():
|
def build():
|
||||||
mesontools.build("-C _build")
|
mesontools.build()
|
||||||
|
|
||||||
def check():
|
def check():
|
||||||
# failed utf16 to utf8 converting
|
mesontools.build("test")
|
||||||
#pass
|
# pass
|
||||||
mesontools.build("-C _build test")
|
|
||||||
|
|
||||||
def install():
|
def install():
|
||||||
mesontools.install("-C _build install")
|
mesontools.install()
|
||||||
|
|
||||||
#pisitools.dodir("/run/clamav")
|
|
||||||
pisitools.dodir("/var/lib/clamav")
|
pisitools.dodir("/var/lib/clamav")
|
||||||
#pisitools.dodir("/var/log/clamav")
|
|
||||||
|
|
||||||
for t in shelltools.ls("%s/etc/clamav" % get.installDIR()):
|
for t in ["clamd.conf.sample", "freshclam.conf.sample"]:
|
||||||
pisitools.rename("/etc/clamav/%s" % t, t.replace(".sample", ""))
|
pisitools.rename("/etc/clamav/%s" % t, t.replace(".sample", ""))
|
||||||
|
|||||||
@@ -1,24 +1,31 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/python
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from comar.service import *
|
from comar.service import *
|
||||||
|
|
||||||
serviceType = "server"
|
serviceType = "local"
|
||||||
|
serviceDefault = "off"
|
||||||
|
serviceConf = "clamd"
|
||||||
serviceDesc = _({"en": "Clam Anti-Virus Daemon",
|
serviceDesc = _({"en": "Clam Anti-Virus Daemon",
|
||||||
"tr": "Clam Antivirüs Servisi"})
|
"tr": "Clam Antivirüs Servisi"})
|
||||||
|
|
||||||
|
PIDFILE = "/var/run/clamd.pid"
|
||||||
|
|
||||||
@synchronized
|
@synchronized
|
||||||
def start():
|
def start():
|
||||||
startService(command="/usr/sbin/clamd",
|
startService(command="/usr/sbin/clamd",
|
||||||
pidfile="/run/clamd.pid",
|
args="--config-file=/etc/clamav/clamd.conf %s" % config.get("CLIOPTS"),
|
||||||
donotify=False)
|
pidfile=PIDFILE,
|
||||||
time.sleep(4)
|
detach=True,
|
||||||
|
donotify=True)
|
||||||
|
|
||||||
@synchronized
|
@synchronized
|
||||||
def stop():
|
def stop():
|
||||||
stopService(command="/usr/sbin/clamd",
|
stopService(command="/usr/sbin/clamd",
|
||||||
|
pidfile=PIDFILE,
|
||||||
donotify=True)
|
donotify=True)
|
||||||
|
if os.path.isfile(PIDFILE): os.unlink(PIDFILE)
|
||||||
|
|
||||||
def status():
|
def status():
|
||||||
return isServiceRunning("/run/clamd.pid")
|
return isServiceRunning(PIDFILE)
|
||||||
|
|||||||
@@ -1,23 +1,30 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/python
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from comar.service import *
|
from comar.service import *
|
||||||
|
|
||||||
serviceType = "server"
|
serviceType = "local"
|
||||||
|
serviceDefault = "off"
|
||||||
|
serviceConf = "freshclam"
|
||||||
serviceDesc = _({"en": "ClamAV database updater service"})
|
serviceDesc = _({"en": "ClamAV database updater service"})
|
||||||
|
|
||||||
|
PIDFILE = "/var/run/freshclam.pid"
|
||||||
|
|
||||||
@synchronized
|
@synchronized
|
||||||
def start():
|
def start():
|
||||||
startService(command="/usr/bin/freshclam",
|
startService(command="/usr/bin/freshclam",
|
||||||
args="-d -p /run/freshclam.pid",
|
args="--config-file=/etc/clamav/freshclam.conf %s" % config.get("CLIOPTS"),
|
||||||
pidfile="/run/freshclam.pid",
|
pidfile=PIDFILE,
|
||||||
|
detach=True,
|
||||||
donotify=True)
|
donotify=True)
|
||||||
|
|
||||||
@synchronized
|
@synchronized
|
||||||
def stop():
|
def stop():
|
||||||
stopService(command="/usr/bin/freshclam",
|
stopService(command="/usr/bin/freshclam",
|
||||||
|
pidfile=PIDFILE,
|
||||||
donotify=True)
|
donotify=True)
|
||||||
|
if os.path.isfile(PIDFILE): os.unlink(PIDFILE)
|
||||||
|
|
||||||
def status():
|
def status():
|
||||||
return isServiceRunning("/run/freshclam.pid")
|
return isServiceRunning(PIDFILE)
|
||||||
|
|||||||
@@ -1,8 +1,17 @@
|
|||||||
#!/usr/bin/env python
|
# -*- coding: utf-8 -*-
|
||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
|
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
|
||||||
os.system("/bin/chown clamav:clamav /var/lib/clamav -R")
|
try:
|
||||||
#os.system("/bin/chown clamav:clamav /run/clamav -R")
|
os.system("/usr/sbin/useradd -r -k /dev/null -m -b /var/lib -U clamav")
|
||||||
#os.system("/bin/chown clamav:clamav /var/log/clamav -R")
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
def postRemove():
|
||||||
|
try:
|
||||||
|
os.system("/usr/sbin/userdel -r clamav")
|
||||||
|
os.system("/usr/sbin/groupdel clamav")
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# see clamd --help
|
||||||
|
CLIOPTS=""
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
diff --git a/etc/clamd.conf.sample b/etc/clamd.conf.sample
|
||||||
|
index 120cf32..b4bc4c1 100644
|
||||||
|
--- a/etc/clamd.conf.sample
|
||||||
|
+++ b/etc/clamd.conf.sample
|
||||||
|
@@ -5,7 +5,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
# Comment or remove the line below.
|
||||||
|
-Example
|
||||||
|
+#Example
|
||||||
|
|
||||||
|
# Uncomment this option to enable logging.
|
||||||
|
# LogFile must be writable for the user running daemon.
|
||||||
|
@@ -74,7 +74,7 @@ Example
|
||||||
|
# It is recommended that the directory where this file is stored is
|
||||||
|
# also owned by root to keep other users from tampering with it.
|
||||||
|
# Default: disabled
|
||||||
|
-#PidFile /run/clamav/clamd.pid
|
||||||
|
+PidFile /var/run/clamd.pid
|
||||||
|
|
||||||
|
# Optional path to the global temporary directory.
|
||||||
|
# Default: system specific (usually /tmp or /var/tmp).
|
||||||
|
@@ -115,7 +115,7 @@ Example
|
||||||
|
|
||||||
|
# TCP port address.
|
||||||
|
# Default: no
|
||||||
|
-#TCPSocket 3310
|
||||||
|
+TCPSocket 3310
|
||||||
|
|
||||||
|
# TCP address.
|
||||||
|
# By default we bind to INADDR_ANY, probably not wise.
|
||||||
|
@@ -123,7 +123,7 @@ Example
|
||||||
|
# from the outside world. This option can be specified multiple
|
||||||
|
# times if you want to listen on multiple IPs. IPv6 is now supported.
|
||||||
|
# Default: no
|
||||||
|
-#TCPAddr localhost
|
||||||
|
+TCPAddr localhost
|
||||||
|
|
||||||
|
# Maximum length the queue of pending connections may grow to.
|
||||||
|
# Default: 200
|
||||||
|
diff --git a/etc/freshclam.conf.sample b/etc/freshclam.conf.sample
|
||||||
|
index d91fe81..f07a5e4 100644
|
||||||
|
--- a/etc/freshclam.conf.sample
|
||||||
|
+++ b/etc/freshclam.conf.sample
|
||||||
|
@@ -5,14 +5,14 @@
|
||||||
|
|
||||||
|
|
||||||
|
# Comment or remove the line below.
|
||||||
|
-Example
|
||||||
|
+#Example
|
||||||
|
|
||||||
|
# Path to the database directory.
|
||||||
|
# WARNING: It must match clamd.conf's directive!
|
||||||
|
# WARNING: It must already exist, be an absolute path, be writeable by
|
||||||
|
# freshclam, and be readable by clamd/clamscan.
|
||||||
|
# Default: hardcoded (depends on installation options)
|
||||||
|
-#DatabaseDirectory /var/lib/clamav
|
||||||
|
+DatabaseDirectory /var/lib/clamav
|
||||||
|
|
||||||
|
# Path to the log file (make sure it has proper permissions)
|
||||||
|
# Default: disabled
|
||||||
|
@@ -54,7 +54,7 @@ Example
|
||||||
|
# It is recommended that the directory where this file is stored is
|
||||||
|
# also owned by root to keep other users from tampering with it.
|
||||||
|
# Default: disabled
|
||||||
|
-#PidFile /run/clamav/freshclam.pid
|
||||||
|
+PidFile /var/run/freshclam.pid
|
||||||
|
|
||||||
|
# By default when started freshclam drops privileges and switches to the
|
||||||
|
# "clamav" user. This directive allows you to change the database owner.
|
||||||
@@ -1,105 +0,0 @@
|
|||||||
diff -Nuar a/etc/clamav-milter.conf.sample b/etc/clamav-milter.conf.sample
|
|
||||||
--- a/etc/clamav-milter.conf.sample 2023-10-24 20:10:14.000000000 +0300
|
|
||||||
+++ b/etc/clamav-milter.conf.sample 2023-11-04 11:15:20.706075909 +0300
|
|
||||||
@@ -3,7 +3,7 @@
|
|
||||||
##
|
|
||||||
|
|
||||||
# Comment or remove the line below.
|
|
||||||
-Example
|
|
||||||
+# Example
|
|
||||||
|
|
||||||
|
|
||||||
##
|
|
||||||
diff -Nuar a/etc/clamd.conf.sample b/etc/clamd.conf.sample
|
|
||||||
--- a/etc/clamd.conf.sample 2023-10-24 20:10:14.000000000 +0300
|
|
||||||
+++ b/etc/clamd.conf.sample 2023-11-04 11:20:07.859485998 +0300
|
|
||||||
@@ -5,13 +5,14 @@
|
|
||||||
|
|
||||||
|
|
||||||
# Comment or remove the line below.
|
|
||||||
-Example
|
|
||||||
+# Example
|
|
||||||
|
|
||||||
# Uncomment this option to enable logging.
|
|
||||||
# LogFile must be writable for the user running daemon.
|
|
||||||
# A full path is required.
|
|
||||||
# Default: disabled
|
|
||||||
#LogFile /tmp/clamd.log
|
|
||||||
+LogFile /var/log/clamd.log
|
|
||||||
|
|
||||||
# By default the log file is locked for writing - the lock protects against
|
|
||||||
# running clamd multiple times (if want to run another clamd, please
|
|
||||||
@@ -19,7 +20,7 @@
|
|
||||||
# the daemon with --config-file option).
|
|
||||||
# This option disables log file locking.
|
|
||||||
# Default: no
|
|
||||||
-#LogFileUnlock yes
|
|
||||||
+LogFileUnlock yes
|
|
||||||
|
|
||||||
# Maximum size of the log file.
|
|
||||||
# Value of 0 disables the limit.
|
|
||||||
@@ -75,6 +76,7 @@
|
|
||||||
# also owned by root to keep other users from tampering with it.
|
|
||||||
# Default: disabled
|
|
||||||
#PidFile /run/clamav/clamd.pid
|
|
||||||
+PidFile /run/clamd.pid
|
|
||||||
|
|
||||||
# Optional path to the global temporary directory.
|
|
||||||
# Default: system specific (usually /tmp or /var/tmp).
|
|
||||||
@@ -82,7 +84,7 @@
|
|
||||||
|
|
||||||
# Path to the database directory.
|
|
||||||
# Default: hardcoded (depends on installation options)
|
|
||||||
-#DatabaseDirectory /var/lib/clamav
|
|
||||||
+DatabaseDirectory /var/lib/clamav
|
|
||||||
|
|
||||||
# Only load the official signatures published by the ClamAV project.
|
|
||||||
# Default: no
|
|
||||||
@@ -100,6 +102,7 @@
|
|
||||||
# Default: disabled (must be specified by a user)
|
|
||||||
#LocalSocket /run/clamav/clamd.sock
|
|
||||||
#LocalSocket /tmp/clamd.sock
|
|
||||||
+LocalSocket /run/clamd.socket
|
|
||||||
|
|
||||||
# Sets the group ownership on the unix socket.
|
|
||||||
# Default: disabled (the primary group of the user running clamd)
|
|
||||||
@@ -115,7 +118,7 @@
|
|
||||||
|
|
||||||
# TCP port address.
|
|
||||||
# Default: no
|
|
||||||
-#TCPSocket 3310
|
|
||||||
+TCPSocket 3310
|
|
||||||
|
|
||||||
# TCP address.
|
|
||||||
# By default we bind to INADDR_ANY, probably not wise.
|
|
||||||
diff -Nuar a/etc/freshclam.conf.sample b/etc/freshclam.conf.sample
|
|
||||||
--- a/etc/freshclam.conf.sample 2023-10-24 20:10:14.000000000 +0300
|
|
||||||
+++ b/etc/freshclam.conf.sample 2023-11-04 11:22:10.603951481 +0300
|
|
||||||
@@ -5,16 +5,16 @@
|
|
||||||
|
|
||||||
|
|
||||||
# Comment or remove the line below.
|
|
||||||
-Example
|
|
||||||
+# Example
|
|
||||||
|
|
||||||
# Path to the database directory.
|
|
||||||
# WARNING: It must match clamd.conf's directive!
|
|
||||||
# Default: hardcoded (depends on installation options)
|
|
||||||
-#DatabaseDirectory /var/lib/clamav
|
|
||||||
+DatabaseDirectory /var/lib/clamav
|
|
||||||
|
|
||||||
# Path to the log file (make sure it has proper permissions)
|
|
||||||
# Default: disabled
|
|
||||||
-#UpdateLogFile /var/log/freshclam.log
|
|
||||||
+UpdateLogFile /var/log/freshclam.log
|
|
||||||
|
|
||||||
# Maximum size of the log file.
|
|
||||||
# Value of 0 disables the limit.
|
|
||||||
@@ -53,6 +53,7 @@
|
|
||||||
# also owned by root to keep other users from tampering with it.
|
|
||||||
# Default: disabled
|
|
||||||
#PidFile /run/clamav/freshclam.pid
|
|
||||||
+PidFile /run/freshclam.pid
|
|
||||||
|
|
||||||
# By default when started freshclam drops privileges and switches to the
|
|
||||||
# "clamav" user. This directive allows you to change the database owner.
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# see freshclam --help
|
||||||
|
CLIOPTS=""
|
||||||
@@ -5,32 +5,33 @@
|
|||||||
<Name>clamav</Name>
|
<Name>clamav</Name>
|
||||||
<Homepage>https://www.clamav.net/</Homepage>
|
<Homepage>https://www.clamav.net/</Homepage>
|
||||||
<Packager>
|
<Packager>
|
||||||
<Name>PisiLinux Community</Name>
|
<Name>Kamil Atlı</Name>
|
||||||
<Email>admins@pisilinux.org</Email>
|
<Email>suvari@pisilinux.org</Email>
|
||||||
</Packager>
|
</Packager>
|
||||||
<License>GPL-2</License>
|
<License>GPLv2</License>
|
||||||
<IsA>app:console</IsA>
|
<IsA>app:console</IsA>
|
||||||
<Summary>Clam Antivirus software.</Summary>
|
<PartOf>util.antivirus</PartOf>
|
||||||
|
<Summary>A GPL virus scanner.</Summary>
|
||||||
<Description>Clam AntiVirus is a GPL anti-virus toolkit for UNIX.</Description>
|
<Description>Clam AntiVirus is a GPL anti-virus toolkit for UNIX.</Description>
|
||||||
<Archive sha1sum="09781ed9c3d7dcff5ea79783d76d6ee4344b5a48" type="targz">https://www.clamav.net/downloads/production/clamav-1.2.1.tar.gz</Archive>
|
<Archive sha1sum="bb28848206df9014c9e3e5d89219cd953c685629" type="targz">https://github.com/Cisco-Talos/clamav/releases/download/clamav-1.4.2/clamav-1.4.2.tar.gz</Archive>
|
||||||
<BuildDependencies>
|
<BuildDependencies>
|
||||||
<Dependency>rust</Dependency>
|
<Dependency>rust</Dependency>
|
||||||
<Dependency>cmake</Dependency>
|
<Dependency>cmake</Dependency>
|
||||||
<Dependency>ninja</Dependency>
|
<Dependency>ninja</Dependency>
|
||||||
<!-- <Dependency>libmilter</Dependency> -->
|
|
||||||
<Dependency>curl-devel</Dependency>
|
<Dependency>curl-devel</Dependency>
|
||||||
<Dependency>zlib-devel</Dependency>
|
<Dependency>zlib-devel</Dependency>
|
||||||
<Dependency>check-devel</Dependency>
|
<Dependency>check-devel</Dependency>
|
||||||
<Dependency>json-c-devel</Dependency>
|
<Dependency>json-c-devel</Dependency>
|
||||||
|
<Dependency>rust-bindgen</Dependency>
|
||||||
<Dependency>openssl-devel</Dependency>
|
<Dependency>openssl-devel</Dependency>
|
||||||
<Dependency>ncurses-devel</Dependency>
|
<Dependency>ncurses-devel</Dependency>
|
||||||
<Dependency>python3-devel</Dependency>
|
<Dependency>python3-devel</Dependency>
|
||||||
<Dependency>libxml2-devel</Dependency>
|
<Dependency>libxml2-devel</Dependency>
|
||||||
<Dependency>libpcre2-devel</Dependency>
|
<Dependency>libpcre2-devel</Dependency>
|
||||||
<Dependency>libiconv-devel</Dependency>
|
|
||||||
</BuildDependencies>
|
</BuildDependencies>
|
||||||
<Patches>
|
<Patches>
|
||||||
<Patch level="1">daemon_confs.patch</Patch>
|
<!-- <Patch level="1"></Patch> -->
|
||||||
|
<Patch level="1">config.patch</Patch>
|
||||||
</Patches>
|
</Patches>
|
||||||
</Source>
|
</Source>
|
||||||
|
|
||||||
@@ -46,45 +47,23 @@
|
|||||||
<Dependency>ncurses</Dependency>
|
<Dependency>ncurses</Dependency>
|
||||||
<Dependency>openssl</Dependency>
|
<Dependency>openssl</Dependency>
|
||||||
<Dependency>libpcre2</Dependency>
|
<Dependency>libpcre2</Dependency>
|
||||||
<Dependency>libiconv</Dependency>
|
|
||||||
<!-- <Dependency>libmilter</Dependency> -->
|
|
||||||
</RuntimeDependencies>
|
</RuntimeDependencies>
|
||||||
<Files>
|
<Files>
|
||||||
<Path fileType="config">/etc/clamav</Path>
|
<Path fileType="config">/etc</Path>
|
||||||
<Path fileType="executable">/usr/bin</Path>
|
<Path fileType="executable">/usr/bin</Path>
|
||||||
<Path fileType="executable">/usr/sbin</Path>
|
<Path fileType="executable">/usr/sbin</Path>
|
||||||
<Path fileType="library">/usr/lib</Path>
|
<Path fileType="library">/usr/lib</Path>
|
||||||
<Path fileType="data">/run/clamav</Path>
|
<Path fileType="data">/usr/share</Path>
|
||||||
<Path fileType="data">/var/lib/clamav</Path>
|
<Path fileType="data">/var</Path>
|
||||||
<Path fileType="data">/var/log/clamav</Path>
|
|
||||||
<Path fileType="doc">/usr/share/doc</Path>
|
|
||||||
<Path fileType="man">/usr/share/man</Path>
|
|
||||||
</Files>
|
</Files>
|
||||||
<AdditionalFiles>
|
<AdditionalFiles>
|
||||||
<!-- <AdditionalFile owner="root" permission="0644" target="."></AdditionalFile> -->
|
<AdditionalFile permission="644" owner="root" target="/etc/conf.d/clamd">clamd.conf</AdditionalFile>
|
||||||
|
<AdditionalFile permission="644" owner="root" target="/etc/conf.d/freshclam">freshclam.conf</AdditionalFile>
|
||||||
</AdditionalFiles>
|
</AdditionalFiles>
|
||||||
<Provides>
|
<Provides>
|
||||||
<COMAR script="package.py">System.Package</COMAR>
|
<COMAR script="package.py">System.Package</COMAR>
|
||||||
<COMAR script="clamd.py">System.Service</COMAR>
|
<COMAR script="clamd.py" name="clamd">System.Service</COMAR>
|
||||||
</Provides>
|
<COMAR script="freshclam.py" name="freshclam">System.Service</COMAR>
|
||||||
</Package>
|
|
||||||
|
|
||||||
<Package>
|
|
||||||
<Name>freshclam</Name>
|
|
||||||
<RuntimeDependencies>
|
|
||||||
<Dependency release="current">clamav</Dependency>
|
|
||||||
</RuntimeDependencies>
|
|
||||||
<Files>
|
|
||||||
<Path fileType="config">/etc/clamav/freshclam.conf</Path>
|
|
||||||
<Path fileType="executable">/usr/bin/freshclam</Path>
|
|
||||||
<Path fileType="data">/usr/lib/libfreshclam.so</Path>
|
|
||||||
<Path fileType="data">/usr/lib/libfreshclam.so.2</Path>
|
|
||||||
<Path fileType="data">/usr/lib/libfreshclam.so.2.0.2</Path>
|
|
||||||
<Path fileType="man">/usr/share/man/man1/freshclam.1</Path>
|
|
||||||
<Path fileType="man">/usr/share/man/man5/freshclam.conf.5</Path>
|
|
||||||
</Files>
|
|
||||||
<Provides>
|
|
||||||
<COMAR script="freshclam.py">System.Service</COMAR>
|
|
||||||
</Provides>
|
</Provides>
|
||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
@@ -94,12 +73,20 @@
|
|||||||
<Dependency release="current">clamav</Dependency>
|
<Dependency release="current">clamav</Dependency>
|
||||||
</RuntimeDependencies>
|
</RuntimeDependencies>
|
||||||
<Files>
|
<Files>
|
||||||
|
<Path fileType="executable">/usr/bin/clamav-config</Path>
|
||||||
<Path fileType="header">/usr/include</Path>
|
<Path fileType="header">/usr/include</Path>
|
||||||
<Path fileType="data">/usr/lib/pkgconfig</Path>
|
<Path fileType="data">/usr/lib/pkgconfig</Path>
|
||||||
</Files>
|
</Files>
|
||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<History>
|
||||||
|
<Update release="9">
|
||||||
|
<Date>2025-04-19</Date>
|
||||||
|
<Version>1.4.2</Version>
|
||||||
|
<Comment>Rebuild.</Comment>
|
||||||
|
<Name>Kamil Atlı</Name>
|
||||||
|
<Email>suvari@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
<Update release="8">
|
<Update release="8">
|
||||||
<Date>2023-12-19</Date>
|
<Date>2023-12-19</Date>
|
||||||
<Version>1.2.1</Version>
|
<Version>1.2.1</Version>
|
||||||
|
|||||||
Reference in New Issue
Block a user