• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

SquiVi2

Das CGI Script sagt folgendes beim Ausführen:

Can't locate File/Type.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i586-linux-thread-multi /usr/lib/perl5/5.8.5 /usr/lib/perl5/site_perl/5.8.5/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.5/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl) at /srv/www/htdocs/SquiVi2/htdocs/squivi.cgi line 44.
BEGIN failed--compilation aborted at /srv/www/htdocs/SquiVi2/htdocs/squivi.cgi line 44.

ich finde leider das passende Suse Paket nicht

kann mir jemand helfen?
 

oc2pus

Ultimate Guru
dieses als /usr/src/packages/SPECS/squivi2.spec abspeichern:
Code:
%define _webdir_cgi    /srv/www/cgi-bin/
%define _webdir_htdocs /srv/www/htdocs/

Name:		squivi2
Version:	2.8
Release:	0.oc2pus.1
Summary (de):SquiVi2 ist ein Redirector für squid
Summary (en):SquiVi2 is a redirector for squid
Group:		Productivity/Networking/Security
License:	GPL
Packager:	oc2pus <oc2pus@arcor.de>
URL:		http://squivi2.sourceforge.net/
Source0:	SquiVi2_2.8.tar.gz
#Source0:	%{name}_%{version}.tar.bz2
Source1:	%{name}-squid-sample.conf
Patch0:		%{name}-squivi.cgi.diff
Patch1:		%{name}-squiviauth.cgi.diff
#Patch2:		%{name}-squivi.conf.diff.bz2
BuildRoot:	%{_tmppath}/making_of_%{name}-%{version}
Requires:	perl perl-Config-General perl-libwww-perl perl-URI perl-Unix-Syslog
Requires:	perl-Data-Dumper perl-File-Type

%description -l en
SquiVi2 is a redirector for squid. It makes is possible to include an 
virusscanner in squid to search for viruses and trojans in the requested files.
You can include as many virus scanners and compression tools as you want.

Author: Stefen Schoch <sschoch@users.sourceforge.net>

%description -l de
SquiVi2 ist ein Redirector für squid. Er macht es möglich Virenscanner in 
squid einzubinden um nach Viren und Trojanern in den Downloads zu suchen. Es
können soviele Virenscanner und Kompressionstools eingebunden werden wie Sie 
wollen.

Autor: Stefen Schoch <sschoch@users.sourceforge.net>

%prep
%setup -q -c %{name}-%{version}
%patch0
%patch1
#%patch2

#%build

%install
# /etc
#mkdir -p %{buildroot}%{_sysconfdir}
#install -m 644 etc/squivi.conf %{buildroot}%{_sysconfdir}
#install -m 644 %{SOURCE1} %{buildroot}%{_webdir_cgi}%{name}/etc

# /srv/www/cgi-bin/squivi2
mkdir -p %{buildroot}%{_webdir_cgi}%{name}
install -m 755 htdocs/*.cgi %{buildroot}%{_webdir_cgi}%{name}

# /srv/www/cgi-bin/squivi2/bin
mkdir -p %{buildroot}%{_webdir_cgi}%{name}/bin
install -m 755 bin/* %{buildroot}%{_webdir_cgi}%{name}/bin

# /srv/www/cgi-bin/squivi2/etc
mkdir -p %{buildroot}%{_webdir_cgi}%{name}/etc
install -m 644 etc/squivi.conf %{buildroot}%{_webdir_cgi}%{name}/etc
install -m 644 %{SOURCE1} %{buildroot}%{_webdir_cgi}%{name}/etc

# /srv/www/cgi-bin/squivi2/lib
mkdir -p %{buildroot}%{_webdir_cgi}%{name}/lib/SquiVi2
install -m 644 lib/SquiVi2/* %{buildroot}%{_webdir_cgi}%{name}/lib/SquiVi2

# /srv/www/cgi-bin/squivi2/lang
mkdir -p %{buildroot}%{_webdir_cgi}%{name}/lang
install -m 644 lang/* %{buildroot}%{_webdir_cgi}%{name}/lang

# download dir
mkdir -p %{buildroot}%{_webdir_cgi}%{name}/download

# /srv/www/htdocs/squivi2
mkdir -p %{buildroot}%{_webdir_htdocs}%{name}
install -m 755 htdocs/squivi.css %{buildroot}%{_webdir_htdocs}%{name}
install -m 644 htdocs/index.html %{buildroot}%{_webdir_htdocs}%{name}
install -m 644 htdocs/*.ico      %{buildroot}%{_webdir_htdocs}%{name}
install -m 644 htdocs/*.png      %{buildroot}%{_webdir_htdocs}%{name}

%clean
[ -d %{buildroot} -a "%{buildroot}" != "" ] && rm -rf %{buildroot}

%files
%defattr(-, root, root)
%doc docs/*.pdf docs/gpl.txt docs/changelog
#%config(noreplace) %{_sysconfdir}/*

%defattr(-,wwwrun,www)
%config(noreplace) %{_webdir_cgi}%{name}/etc/squivi.conf
%{_webdir_cgi}%{name}/etc/%{name}-squid-sample.conf
%attr(755,wwwrun,www) %{_webdir_cgi}%{name}/*.cgi
%attr(755,wwwrun,www) %{_webdir_cgi}%{name}/bin/*
%attr(644,wwwrun,www) %{_webdir_cgi}%{name}/lib/*
%attr(644,wwwrun,www) %{_webdir_cgi}%{name}/lang/*
%attr(774,squid,www)  %dir %{_webdir_cgi}%{name}/download

%attr(644,wwwrun,www) %{_webdir_htdocs}%{name}/*.ico
%attr(644,wwwrun,www) %{_webdir_htdocs}%{name}/*.png
%attr(644,wwwrun,www) %{_webdir_htdocs}%{name}/*.html
%attr(755,wwwrun,www) %{_webdir_htdocs}%{name}/*.css

%changelog
* Mon Feb 09 2005 oc2pus <oc2pus@arcor.de> 2.8-0.oc2pus.1
- update to 2.8

* Mon Jan 03 2005 oc2pus <oc2pus@arcor.de> 2.7-0.oc2pus.1
- update to 2.7
- patches modified

* Tue Dec 28 2004 oc2pus <oc2pus@arcor.de> 2.6.2-0.oc2pus.1
- Initial spec-file

die Datei squivi2-squid-sample.conf nach /usr/src/packages/SOURCES kopieren:
Code:
#
# redirect-sample entry for squivi2
#
redirect_program /srv/www/cgi-bin/squivi2/bin/squivi.pl -c /srv/www/cgi-bin/squivi2/etc/squivi.conf

dieses als /usr/src/packages/SOURCES/squivi2-squivi.cgi.diff speichern:
Code:
--- htdocs/squivi.cgi	2005-01-02 12:28:18.000000000 +0100
+++ squivi.cgi	2005-01-03 11:13:00.000581639 +0100
@@ -55,7 +55,7 @@
 
 ###############
 # Konfigurationsdatei - muß evtl. angepaßt werden
-my $configfile = '../etc/squivi.conf';
+my $configfile = './etc/squivi.conf';
 $configfile = '/etc/squivi.conf' unless -e $configfile;
 $configfile = '/etc/SquiVi2/squivi.conf' unless -e $configfile;
 
@@ -66,7 +66,7 @@
   # erstmal libdir in @INC einbinden
   my $libdir;
 	my $langdir;
-  dirname($0) =~ m/([^\`\<\{\|]*)/o and $libdir = $1 . '/../lib/', $langdir = $1 . '/../lang/'; # ` <-- Darstellungsfehler in meinem Editor...
+  dirname($0) =~ m/([^\`\<\{\|]*)/o and $libdir = $1 . '/lib/', $langdir = $1 . '/lang/'; # ` <-- Darstellungsfehler in meinem Editor...
   push @INC, $libdir, $langdir;
 }
 use SquiVi2::Taint;

dieses als /usr/src/packages/SOURCES/squivi2-squiviauth.cgi.diff abspeichern:
Code:
--- htdocs/squiviauth.cgi	2005-01-02 12:28:22.000000000 +0100
+++ squiviauth.cgi	2005-01-03 11:13:12.512421844 +0100
@@ -56,7 +56,7 @@
 
 ###############
 # Konfigurationsdatei - muß evtl. angepaßt werden
-my $configfile = '../etc/squivi.conf';
+my $configfile = './etc/squivi.conf';
 $configfile = '/etc/squivi.conf' unless -e $configfile;
 $configfile = '/etc/SquiVi2/squivi.conf' unless -e $configfile;
 
@@ -67,7 +67,7 @@
   # erstmal libdir in @INC einbinden
   my $libdir;
 	my $langdir;
-  dirname($0) =~ m/([^\`\<\{\|]*)/o and $libdir = $1 . '/../lib/', $langdir = $1 . '/../lang/'; # ` <-- Darstellungsfehler in meinem Editor...
+  dirname($0) =~ m/([^\`\<\{\|]*)/o and $libdir = $1 . '/lib/', $langdir = $1 . '/lang/'; # ` <-- Darstellungsfehler in meinem Editor...
   push @INC, $libdir, $langdir;
 }
 use SquiVi2::Taint;

dann diese Befehle eingeben:
cd /usr/src/packages
/usr/lib/rpm/rpmb -bb SPECS/squivi2.spec
nun sollte in /usr/src/packages/RPMS/* das fertige RPM stehen ...

ansonsten PN an mich und ich schicke dir die files :)
 

oc2pus

Ultimate Guru
timo-fischer schrieb:
ich dachte diese File/Type.pm wäre nur ein perl Modul ?

ja logisch :)

aus dem spec-file kannst du sehen welche RPMs gebraucht werden:
Code:
Requires:   perl perl-Config-General perl-libwww-perl perl-URI perl-Unix-Syslog
Requires:   perl-Data-Dumper perl-File-Type
das sind die benötigten RPMs die squivi braucht ... die musst du installieren
 

oc2pus

Ultimate Guru
timo-fischer schrieb:
die anderen habe ich alle installiert aber die finde ich nicht
perl-Data-Dumper perl-File-Type

die musst du bei cpan herunterladen ... http://search.cpan.org/

um daraus rpms zu machen kannst du das Programm perl-cpan2rpm verwenden.
download hier:
http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.2-i386/RPMS.suser-oc2pus/
oder
http://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.1-i386/RPMS.suser-oc2pus/
oder
apt install cpan2rpm (suser-oc2pus Repository aktivieren in der sources.list)

dann mit cpan2rpm <name-des-tar.gz-von-cpan> ein SuSE-RPM erstellen und mit rpm -Uhv <paketname> installieren :)

oder eine liebe PN mit deiner email-Adresse an mich und ich sende dir die RPMs per mail zu :)
 
OP
T

timo-fischer

Newbie
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.57682 (%build)
RPM build failed [1] at /usr/bin/cpan2rpm line 1053.

das sagt er wenn ich Data_Dumper umwandeln möchte
 
OP
T

timo-fischer

Newbie
Habe alles so zusammengebaut aber es kommt folgende Fehlermeldung

/usr/src/packages # /usr/lib/rpm/rpmb -bb SPECS/squivi2.spec

error: line 46: Bad arg to %patch: %install
 

oc2pus

Ultimate Guru
timo-fischer schrieb:
Habe alles so zusammengebaut aber es kommt folgende Fehlermeldung

/usr/src/packages # /usr/lib/rpm/rpmb -bb SPECS/squivi2.spec

error: line 46: Bad arg to %patch: %install

aaarg, das ist wieder mal ein cut&paste Fehler aus dem Forum ... irgendwie sind da die Zeilenumbrüche durcheinander in deinen kopierten *.diff Dateien. Nimm die Dateien die ich dir per Mail geschickt habe.
 

oc2pus

Ultimate Guru
du hast doch alles per mail bekommen.... genauso habe ich es hier am laufen ...

also dann beschreibe mal genau was du getan hast mit welcher Datei und welche Fehlermeldungen kommen.
 
OP
T

timo-fischer

Newbie
ich habe alles genau so gemacht wie beschreiben die diff datein aus deiner mail in die verzeichnisse kopiert und entpackt usw, die squidvir.tar.gz kopiert.

beim ertsellen gibt es dann folgende fehlermeldung

/usr/lib/rpm/rpmb -bb SPECS/squivi2.spec
error: line 46: Bad arg to %patch: %install
 
Oben