]> git.pld-linux.org Git - packages/apache-mod_pagespeed.git/blob - apache-mod_pagespeed.spec
- builds on carme-ti (gcc 4.4.3), package files
[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         mod_name        pagespeed
30 %define         apxs            %{_sbindir}/apxs
31 Summary:        Apache module for rewriting web pages to reduce latency and bandwidth
32 Name:           apache-mod_%{mod_name}
33 Version:        0.9.0.0
34 Release:        0.3
35 License:        Apache v2.0
36 Group:          Networking/Daemons/HTTP
37 # wget -c http://src.chromium.org/svn/trunk/tools/depot_tools.tar.gz
38 # test -d depot_tools || tar xzf depot_tools.tar.gz
39 # install -d modpagespeed
40 # cd modpagespeed
41 # test -f .gclient || ../depot_tools/gclient config http://modpagespeed.googlecode.com/svn/trunk/src
42 # ../depot_tools/gclient sync
43 # Populate the LASTCHANGE file template as we will not include VCS info in tarball
44 # (cd src/build && svnversion > LASTCHANGE.in)
45 # cd ..
46 # tar -cjf modpagespeed-$(date +%Y%m%d).tar.bz2 --exclude-vcs modpagespeed
47 # ../dropin modpagespeed-$(date +%Y%m%d).tar.bz2 &
48 Source0:        modpagespeed-%{svndate}.tar.bz2
49 # Source0-md5:  1640f3c7226ffd3ba4a67f0064241495
50 URL:            http://code.google.com/p/modpagespeed/
51 BuildRequires:  %{apxs}
52 BuildRequires:  apache-devel >= 2.2
53 BuildRequires:  rpmbuild(macros) >= 1.268
54 Requires:       apache(modules-api) = %apache_modules_api
55 Suggests:       apache-mod_deflate
56 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57
58 %define         _pkglibdir      %(%{apxs} -q LIBEXECDIR 2>/dev/null)
59 %define         _pkgrootdir     %(%{apxs} -q SYSCONFDIR 2>/dev/null)
60 %define         _sysconfdir     %{_pkgrootdir}/conf.d
61 %define         htdocsdir       %(%{apxs} -q htdocsdir 2>/dev/null)
62 %define         cachedir        %(%{apxs} -q proxycachedir 2>/dev/null)/mod_%{mod_name}
63
64 %description
65 mod_pagespeed automates the application of those rules in an Apache
66 server. HTML, CSS, JavaScript, and images are changed dynamically
67 during the web serving process, so that the best practices recommended
68 by Page Speed can be used without having to change the way the web
69 site is maintained.
70
71 %prep
72 %setup -q -n modpagespeed
73
74 %build
75 # re-gen makefiles
76 cd src
77 CC="%{__cc}" \
78 CXX="%{__cxx}" \
79 %{__python} build/gyp_chromium --format=make build/all.gyp
80 cd ..
81
82 # makefile wrapper so we could just invoke "make" from shell
83 cat > Makefile <<'EOF'
84 default:
85         $(MAKE) -C src \
86         BUILDTYPE=%{!?debug:Release}%{?debug:Debug} \
87         %{?with_verbose:V=1} \
88         CC="%{__cc}" \
89         CXX="%{__cxx}" \
90         CC.host="%{__cc}" \
91         CXX.host="%{__cxx}" \
92         LINK.host="%{__cxx}" \
93         CFLAGS="%{rpmcflags} %{rpmcppflags}" \
94         CXXFLAGS="%{rpmcxxflags} %{rpmcppflags}" \
95 EOF
96 %{__make}
97
98 %install
99 rm -rf $RPM_BUILD_ROOT
100 %{__make} -j1 -C src/install staging \
101         HOSTNAME=localhost \
102         APACHE_ROOT=%{_pkgrootdir} \
103         APACHE_MODULES=%{_pkglibdir} \
104         APACHE_DOC_ROOT=%{htdocsdir} \
105         MOD_PAGESPEED_FILE_ROOT=%{cachedir} \
106         STAGING_DIR=staging
107
108 cd staging
109 install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir}}
110 install -p mod_%{mod_name}.so $RPM_BUILD_ROOT%{_pkglibdir}
111 install -d $RPM_BUILD_ROOT%{cachedir}/{cache,files}
112 cat > $RPM_BUILD_ROOT%{_sysconfdir}/90_mod_%{mod_name}.conf <<EOF
113 LoadModule %{mod_name}_module   modules/mod_%{mod_name}.so
114
115 $(cat pagespeed.conf)
116 EOF
117
118 %clean
119 rm -rf $RPM_BUILD_ROOT
120
121 %post
122 %service -q httpd restart
123
124 %postun
125 if [ "$1" = "0" ]; then
126         %service -q httpd restart
127 fi
128
129 %files
130 %defattr(644,root,root,755)
131 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*_mod_%{mod_name}.conf
132 %attr(755,root,root) %{_pkglibdir}/mod_%{mod_name}.so
133
134 %dir %attr(710,root,http) %{cachedir}
135 %dir %attr(770,root,http) %{cachedir}/cache
136 %dir %attr(770,root,http) %{cachedir}/files
This page took 0.053364 seconds and 4 git commands to generate.