From db3025bc20a1906bf8490a6f5848dea0ad926676 Mon Sep 17 00:00:00 2001 From: aquarius Date: Wed, 9 Jan 2008 11:32:24 +0000 Subject: [PATCH] Moved rpm inside trunk - rpm specific files will still be separated but also part of source codes. git-svn-id: https://dev.arachne.cz/repos/prometheus/trunk@47 251d49ef-1d17-4917-a970-b30cf55b089b --- rpm/prometheus-conf-rh.patch | 36 ++++++++++++++++ rpm/prometheus.spec | 80 ++++++++++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 rpm/prometheus-conf-rh.patch create mode 100644 rpm/prometheus.spec diff --git a/rpm/prometheus-conf-rh.patch b/rpm/prometheus-conf-rh.patch new file mode 100644 index 0000000..913d0bc --- /dev/null +++ b/rpm/prometheus-conf-rh.patch @@ -0,0 +1,36 @@ +--- prometheus.c 2008-01-06 11:54:28.000000000 +0100 ++++ prometheus-rh.c 2008-01-06 11:54:09.000000000 +0100 +@@ -57,17 +57,17 @@ + char *mark="MARK"; + char *mark_iptables="MARK --set-mark "; + int dry_run=0; /* preview - use puts() instead of system() */ +-char *config="/etc/prometheus.conf"; /* main configuration file */ +-char *hosts="/etc/hosts"; /* line bandwidth definition file */ ++char *config="/etc/prometheus/prometheus.conf"; /* main configuration file */ ++char *hosts="/etc/prometheus/hosts"; /* line bandwidth definition file */ + char *tc="/sbin/tc"; /* requires tc with HTB support */ +-char *iptables="/usr/sbin/iptables"; /* requires iptables utility */ +-char *iptablessave="/usr/sbin/iptables-save"; /* new */ +-char *iptablesrestore="/usr/sbin/iptables-restore"; /* new */ ++char *iptables="/sbin/iptables"; /* requires iptables utility */ ++char *iptablessave="/sbin/iptables-save"; /* new */ ++char *iptablesrestore="/sbin/iptables-restore"; /* new */ + char *iptablesfile="/var/spool/prometheus.iptables"; /* new; file for iptables-restore*/ + char *iptablespreamble="*mangle\n:PREROUTING ACCEPT [0:0]\n:POSTROUTING ACCEPT [0:0]\n:INPUT ACCEPT [0:0]\n:OUTPUT ACCEPT [0:0]\n:FORWARD ACCEPT [0:0]"; + FILE *iptables_file=NULL; +-char *html="/var/www/traffic.html"; /* hall of fame filename */ +-char *preview="/var/www/preview.html"; /* hall of fame preview */ ++char *html="/var/www/html/traffic.html"; /* hall of fame filename */ ++char *preview="/var/www/html/preview.html"; /* hall of fame preview */ + char *cmdlog="/var/log/prometheus"; /* command log filename */ + char *credit="/var/run/prometheus.credit"; /* credit log file */ + int enable_credit=1; /* enable credit file */ +@@ -93,7 +93,7 @@ + int qos_free_delay=0; /* seconds to sleep before applying new QoS rules */ + int digital_divide=2; /* controls digital divide weirdness ratio, 1...3 */ + int max_nesting=3; /* maximum nesting of HTB clases, built-in maximum seems to be 4 */ +-int htb_r2q=1; ++int htb_r2q=1; + int burst=8; /* HTB burst (in kbits) */ + int burst_main=64; + int burst_group=32; diff --git a/rpm/prometheus.spec b/rpm/prometheus.spec new file mode 100644 index 0000000..eea812f --- /dev/null +++ b/rpm/prometheus.spec @@ -0,0 +1,80 @@ +Summary: Traffic shaper replacement for Internet Service Providers (ISP). +Name: prometheus +Version: 0.7.7 +Release: 4 +License: GPL +Vendor: Arachne Labs http://www.arachne.cz +Packager: Tomas Lastovicka +Group: Applications/System +Source0: http://gpl.arachne.cz/download/%name-%version.tar.gz +Patch0: prometheus-conf-rh.patch +URL: http://gpl.arachne.cz +Requires: iptables, iproute +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +%description +QoS (or Quality-of-service) is traffic shaper replacement for Internet Service +Providers (ISP). Dump your vintage hard-wired routers/shapers (C|sco, etc.) +in favour of powerful open source and free solution. + +Prometheus QoS generates multiple nested HTB tc classes with various rate and +ceil values, and implements optional daily traffic quotas and data transfer +statistics (as HTML). It is compatible with NAT, both asymetrical and +symetrical, yet still provides good two-way shaping and prioritizing, both +upload and download. + +Prometheus QoS was written in C<<1 and depends on HTB algorithm hardcoded +in Linux kernel. It is currently being tested in real-world enviroment to +provide QoS services on internet gateway and proxy being used by 1500+ members +of CZFree.Net broadband community network. + +%prep +%setup -q +%patch0 -p0 + +%build +make %{_smp_mflags} + +%install +rm -rf %{buildroot} +mkdir -p %{buildroot}%{_sbindir} +mkdir -p %{buildroot}%{_mandir}/man1 +mkdir -p %{buildroot}%{_mandir}/man5 +mkdir -p %{buildroot}%{_sysconfdir}/cron.d +mkdir -p %{buildroot}%{_sysconfdir}/prometheus + +%makeinstall + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root) +%{_sbindir}/prometheus +%{_mandir}/man1/prometheus.1* +%{_mandir}/man5/prometheus.conf.5* +%config(noreplace) %{_sysconfdir}/cron.d/prometheus +%config(noreplace) %{_sysconfdir}/prometheus/prometheus.conf +%config(noreplace) %{_sysconfdir}/prometheus/hosts + +%changelog +* Sun Jan 6 2008 Tomas Lastovicka 0.7.7-4 +- added sample configuration files +- added patch which reflects different locations of some files in redhat-like distros + +* Sat Jan 5 2008 Tomas Lastovicka 0.7.7-3 +- removed screen from dependencies +- cleaned up cron file + +* Sat Jan 5 2008 Tomas Lastovicka 0.7.7-2 +- added manual pages +- added crontab file + +* Fri Dec 28 2007 Tomas Lastovicka 0.7.7-1 +- update to latest upstream upstream 0.7.7 + +* Mon Dec 03 2007 Tomas Lastovicka 0.7.1-1 +- Upgraded to newest version, first *real* build :). + +* Sun Dec 02 2007 Tomas Lastovicka 0.7-1 +- Initial RPM release. -- 2.30.2