]> git.pld-linux.org Git - packages/apache-mod_pagespeed.git/blob - apache-mod_pagespeed.spec
- regenerate makefiles to avoid my paths from tarball
[packages/apache-mod_pagespeed.git] / apache-mod_pagespeed.spec
1 # NOTE
2 # - use make < 3.82 (from th-obsolete) to hack on code, because 3.82
3 #   invalidates built objects and it's annoying to wait if all is recompiled
4 #   each time you invoke make
5 # - http://wiki.mediatemple.net/w/(dv)_HOWTO:_Install_mod_pagespeed
6 # TODO
7 # - c++ errors on 64bit/32bit gcc 4.5.1-4:
8 #   /usr/include/c++/4.5.1/bits/stl_map.h:87:5:   instantiated from here
9 #   /usr/include/c++/4.5.1/bits/stl_pair.h:77:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
10 #   ./net/instaweb/util/public/cache_interface.h:28:7: error: forward declaration of ‘struct net_instaweb::SharedString’
11 #   make[1]: *** [out/Release/obj.target/mod_pagespeed_test/net/instaweb/util/cache_fetcher_test.o] Error 1
12 #   http://pastebin.com/Eu88BPSQ
13 # - sizeof(apr_int32_t) == sizeof(apr_int64_t) on 32bit (!?!):
14 #   third_party/apache/apr/src/strings/apr_snprintf.c: In function 'conv_os_thread_t':
15 #   third_party/apache/apr/src/strings/apr_snprintf.c:500:5: error: duplicate case value
16 #   third_party/apache/apr/src/strings/apr_snprintf.c:498:5: error: previously used here
17 #   third_party/apache/apr/src/strings/apr_snprintf.c: In function 'conv_os_thread_t_hex':
18 #   third_party/apache/apr/src/strings/apr_snprintf.c:671:5: error: duplicate case value
19 #   third_party/apache/apr/src/strings/apr_snprintf.c:669:5: error: previously used here
20 # - possible sysdeps (uses release tags)
21 #  "serf_src": "http://serf.googlecode.com/svn/tags/0.3.1",
22 #  "apr_src": "http://svn.apache.org/repos/asf/apr/apr/tags/1.4.2",
23 #  "aprutil_src": "http://svn.apache.org/repos/asf/apr/apr-util/tags/1.3.9",
24 #  "apache_httpd_src": "http://svn.apache.org/repos/asf/httpd/httpd/tags/2.2.15",
25 #  "opencv_src": "https://code.ros.org/svn/opencv/tags/2.1",
26 #  "gflags_root": "http://google-gflags.googlecode.com/svn/tags/gflags-1.3/src",
27 #  "google_sparsehash_root": "http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.8.1/src",
28 %define         svndate 20101104
29 %define         rel             0.1
30 %define         mod_name        pagespeed
31 %define         apxs            %{_sbindir}/apxs
32 Summary:        Apache module for rewriting web pages to reduce latency and bandwidth
33 Name:           apache-mod_%{mod_name}
34 Version:        0.9.0.0
35 Release:        0.1
36 License:        Apache v2.0
37 Group:          Networking/Daemons/HTTP
38 Source10:       http://src.chromium.org/svn/trunk/tools/depot_tools.tar.gz
39 # Source10-md5: 56a3c406fcb645eaaa608a257f06a90d
40 # test -d depot_tools || tar xzf depot_tools.tar.gz
41 # install -d modpagespeed
42 # cd modpagespeed
43 # test -f .gclient || ../depot_tools/gclient config http://modpagespeed.googlecode.com/svn/trunk/src
44 # ../depot_tools/gclient sync
45 # Populate the LASTCHANGE file template as we no longer have the VCS files at this point
46 # (cd src/build && svnversion > LASTCHANGE.in)
47 # cd ..
48 # tar -cjf modpagespeed-$(date +%Y%m%d).tar.bz2 --exclude-vcs modpagespeed
49 # ../dropin modpagespeed-$(date +%Y%m%d).tar.bz2 &
50 Source0:        modpagespeed-%{svndate}.tar.bz2
51 # Source0-md5:  1640f3c7226ffd3ba4a67f0064241495
52 URL:            http://code.google.com/p/modpagespeed/
53 BuildRequires:  %{apxs}
54 BuildRequires:  apache-devel >= 2.2
55 BuildRequires:  rpmbuild(macros) >= 1.268
56 Requires:       apache(modules-api) = %apache_modules_api
57 Suggests:       apache-mod_deflate
58 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59
60 %define         _pkglibdir      %(%{apxs} -q LIBEXECDIR 2>/dev/null)
61 %define         _sysconfdir     %(%{apxs} -q SYSCONFDIR 2>/dev/null)/conf.d
62
63 %description
64 mod_pagespeed automates the application of those rules in an Apache
65 server. HTML, CSS, JavaScript, and images are changed dynamically
66 during the web serving process, so that the best practices recommended
67 by Page Speed can be used without having to change the way the web
68 site is maintained.
69
70 %prep
71 %setup -q -n modpagespeed -a10
72
73 cat > apache.conf <<EOF
74 LoadModule %{mod_name}_module   modules/mod_%{mod_name}.so > apache.conf
75
76 $(cat src/install/common/pagespeed.conf.template)
77 EOF
78
79 %build
80 export PATH=$PATH:$(pwd)/depot_tools
81 # re-gen makefiles
82 gclient runhooks
83
84 cat > Makefile <<'EOF'
85 default:
86         $(MAKE) -C src \
87         BUILDTYPE=%{!?debug:Release}%{?debug:Debug} \
88         %{?with_verbose:V=1} \
89         CC="%{__cc}" \
90         CXX="%{__cxx}" \
91         CC.host="%{__cc}" \
92         CXX.host="%{__cxx}" \
93         LINK.host="%{__cxx}" \
94         CFLAGS="%{rpmcflags} %{rpmcppflags}" \
95         CXXFLAGS="%{rpmcxxflags} %{rpmcppflags}" \
96 EOF
97 %{__make}
98
99 %install
100 rm -rf $RPM_BUILD_ROOT
101 install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir}}
102 install -p mod_%{mod_name}.so $RPM_BUILD_ROOT%{_pkglibdir}
103 cp -a apache.conf $RPM_BUILD_ROOT%{_sysconfdir}/90_mod_%{mod_name}.conf
104
105 %clean
106 rm -rf $RPM_BUILD_ROOT
107
108 %post
109 %service -q httpd restart
110
111 %postun
112 if [ "$1" = "0" ]; then
113         %service -q httpd restart
114 fi
115
116 %files
117 %defattr(644,root,root,755)
118 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*_mod_%{mod_name}.conf
119 %attr(755,root,root) %{_pkglibdir}/mod_%{mod_name}.so
This page took 0.059741 seconds and 4 git commands to generate.