source: ProjectBuilder/projects/fossology/pbconf/trunk/fossology/rpm/fossology.spec@ 694

Last change on this file since 694 was 694, checked in by Bruno Cornec, 15 years ago

Fixes for fossology build on centos 5

File size: 4.9 KB
Line 
1#
2# $Id$
3#
4
5Name: PBREALPKG
6Version: PBVER
7Release: PBTAGPBSUF
8License: PBLIC
9Group: PBGRP
10Url: PBURL
11Source: PBREPO/PBSRC
12#PBPATCHSRC
13BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -u -n)
14Requires: postgresql php php-pear php-pgsql libxml2 binutils bzip2 cpio mkisofs poppler-utils rpm tar unzip gzip httpd which PBDEP
15BuildRequires: postgresql-devel libxml2 gcc make perl PBBUILDDEP
16Summary: FOSSology is a licenses exploration tool
17Summary(fr): FOSSology est un outil d'exploration de licenses
18
19%package devel
20Summary: Devel part of FOSSology (a licenses exploration tool)
21Summary(fr): Partie dedévelopment de FOSSology, outil d'exploration de licenses
22Group: PBGRP
23
24%description
25PBDESC
26
27%description -l fr
28FOSSology est un outil d'exploration de licenses
29
30%description devel
31Devel part.
32PBDESC
33
34%description -l fr devel
35Partie développement de FOSSology, outil d'exploration de licenses
36
37%prep
38%setup -q
39#PBPATCHCMD
40
41%build
42make SYSCONFDIR=%{_sysconfdir}
43#make %{?_smp_mflags} SYSCONFDIR=%{_sysconfdir}
44
45%install
46%{__rm} -rf $RPM_BUILD_ROOT
47make DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_usr} SYSCONFDIR=%{_sysconfdir} LOCALSTATEDIR=%{_var} LIBDIR=%{_libdir} install
48mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d
49cat > $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d/PBPROJ.conf << EOF
50Alias /repo/ /usr/share/PBPROJ/www/
51<Directory "/usr/share/PBPROJ/www">
52 AllowOverride None
53 Options FollowSymLinks MultiViews
54 Order allow,deny
55 Allow from all
56 # uncomment to turn on php error reporting
57 #php_flag display_errors on
58 #php_value error_reporting 2039
59</Directory>
60EOF
61cp utils/fo-cleanold $RPM_BUILD_ROOT/%{_usr}/lib/PBPROJ/
62
63#rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/default/PBPROJ
64
65%clean
66%{__rm} -rf $RPM_BUILD_ROOT
67
68%files
69%defattr(-,root,root)
70%doc ChangeLog
71%doc COPYING COPYING.LGPL HACKING README INSTALL INSTALL.multi LICENSE
72#AUTHORS NEWS
73%config(noreplace) %{_sysconfdir}/httpd/conf.d/*.conf
74%config(noreplace) %{_sysconfdir}/cron.d/*
75%config(noreplace) %{_sysconfdir}/PBPROJ/*
76%dir %{_sysconfdir}/PBPROJ
77%dir %{_usr}/lib/PBPROJ
78%dir %{_datadir}/PBPROJ
79%{_sysconfdir}/init.d/*
80%{_usr}/lib/PBPROJ/*
81%{_datadir}/PBPROJ/*
82%{_bindir}/*
83%{_mandir}/man1/*
84
85%files devel
86%{_includedir}/*
87%{_libdir}/*.a
88
89%post
90# Adjust the kernel shmmax (described in detail in section 2.1.3)
91echo 512000000 > /proc/sys/kernel/shmmax
92grep -q kernel.shmmax /etc/sysctl.conf
93if [ $? -eq 0 ]; then
94 perl -pi -e "s/kernel.shmmax\s*=.*/kernel.shmmax=512000000/" /etc/sysctl.conf
95else
96 echo "kernel.shmmax=512000000" >> /etc/sysctl.conf
97fi
98
99if [ ! -f /usr/share/pgsql/postgresql.conf ]; then
100 cp /usr/share/pgsql/postgresql.conf.sample /usr/share/pgsql/postgresql.conf
101
102 # Adjust postgresql config (described in detail in section 2.1.4) for Fossology
103 cat >> /usr/share/pgsql/postgresql.conf << EOF
104listen_addresses = '*'
105max_connections = 50
106shared_buffers = 32768
107work_mem = 10240
108max_fsm_pages = 100000 # min max_fsm_relations*16, 6 bytes each
109fsync = off
110full_page_writes = off # recover from partial page writes
111commit_delay = 1000
112effective_cache_size = 25000
113log_min_duration_statement = -1 # -1 is disabled, 0 logs all statements
114log_line_prefix = '%t %h %c' # prepend a time stamp to all log entries
115EOF
116else
117 echo "Please check that your postgresql configuration is aligned with fossology recommendations at section 2.1.4 of /usr/share/doc/fossology*/INSTALL"
118fi
119
120# Check postgresql is running
121LANGUAGE=C /etc/init.d/postgresql status 2>&1 | grep -q stop
122if [ $? -eq 0 ]; then
123 /etc/init.d/postgresql start
124else
125 /etc/init.d/postgresql reload
126fi
127
128# Adjust PHP config (described in detail in section 2.1.5)
129grep -qw memory_limit PBPHPINI
130if [ $? -eq 0 ]; then
131 perl -pi -e "s/memory_limit.*=.*/memory_limit = 702M/" PBPHPINI
132else
133 echo "memory_limit = 702M" >> PBPHPINI
134fi
135grep -qw post_max_size PBPHPINI
136if [ $? -eq 0 ]; then
137 perl -pi -e "s/post_max_size.*=.*/post_max_size = 702M/" PBPHPINI
138else
139 echo "post_max_size = 702M" >> PBPHPINI
140fi
141grep -qw upload_max_filesize PBPHPINI
142if [ $? -eq 0 ]; then
143 perl -pi -e "s/upload_max_filesize.*=.*/upload_max_filesize = 702M/" PBPHPINI
144else
145 echo "upload_max_filesize = 702M" >> PBPHPINI
146fi
147
148# Add apache config for fossology (described in detail in section 2.1.6) - done in install
149LANGUAGE=C /etc/init.d/httpd status 2>&1 | grep -q stop
150if [ $? -eq 0 ]; then
151 /etc/init.d/httpd start
152else
153 /etc/init.d/httpd reload
154fi
155
156# Run the postinstall script
157/usr/lib/PBPROJ/fo-postinstall
158
159# Test that things are installed correctly
160/usr/lib/PBPROJ/fossology-scheduler -t
161if [ $? -ne 0 ]; then
162 exit -1
163fi
164
165chkconfig --add PBPROJ
166/etc/init.d/PBPROJ start
167
168%preun
169# If FOSSology is running, stop it before removing.
170/etc/init.d/PBPROJ stop
171chkconfig --del PBPROJ 2>&1 > /dev/null
172
173# We should do some cleanup here (fossy account ...)
174/usr/lib/PBPROJ/fo-cleanold
175userdel fossy
176groupdel fossy
177
178%changelog
179PBLOG
Note: See TracBrowser for help on using the repository browser.