]> git.pld-linux.org Git - packages/apache-mod_pagespeed.git/blob - apache-mod_pagespeed.spec
update url to point to module subpage
[packages/apache-mod_pagespeed.git] / apache-mod_pagespeed.spec
1 #
2 # Conditional build:
3 %bcond_without  verbose         # verbose build (V=1)
4
5 # NOTE
6 # - relase notes: https://developers.google.com/speed/pagespeed/module/release_notes
7 # - http://code.google.com/p/modpagespeed/wiki/HowToBuild
8 # - http://wiki.mediatemple.net/w/(dv)_HOWTO:_Install_mod_pagespeed
9 # TODO
10 # - add unit tests running
11 # - possible sysdeps (uses release tags)
12 #  "serf_src": "http://serf.googlecode.com/svn/tags/0.3.1",
13 #  "gflags_root": "http://google-gflags.googlecode.com/svn/tags/gflags-1.3/src",
14 #  "google_sparsehash_root": "http://google-sparsehash.googlecode.com/svn/tags/sparsehash-1.8.1/src",
15 #  protobuf_lite
16
17 %define         mod_name        pagespeed
18 %define         apxs            %{_sbindir}/apxs
19 Summary:        Apache module for rewriting web pages to reduce latency and bandwidth
20 Name:           apache-mod_%{mod_name}
21 Version:        1.5.27.2
22 Release:        3
23 License:        Apache v2.0
24 Group:          Networking/Daemons/HTTP
25 Source0:        modpagespeed-%{version}.tar.xz
26 # Source0-md5:  fa8d6a80fc4ca7f929910fa4eeb4a941
27 Source1:        get-source.sh
28 Source2:        gclient.conf
29 Patch0:         system-libs.patch
30 Patch1:         gcc-headers.patch
31 Patch2:         bug-632.patch
32 Patch3:         opencv.patch
33 Patch4:         no-dev-stdout.patch
34 URL:            https://developers.google.com/speed/pagespeed/module
35 BuildRequires:  %{apxs}
36 BuildRequires:  apache-devel >= 2.2
37 BuildRequires:  glib2-devel
38 BuildRequires:  gperf
39 BuildRequires:  libselinux-devel
40 BuildRequires:  libstdc++-devel >= 5:4.1
41 BuildRequires:  opencv-devel >= 2.3.1
42 BuildRequires:  openssl-devel
43 BuildRequires:  pkgconfig
44 BuildRequires:  python-devel >= 1:2.6
45 # This version of gyp is new enough that it knows to use make for Linux 3.x
46 # and FreeBSD, but old enough that 'type': 'settings' works and
47 # LINKER_SUPPORTS_ICF hasn't been removed yet.
48 BuildRequires:  python-gyp >= 0.1-0.svn1602.1
49 BuildRequires:  rpmbuild(macros) >= 1.268
50 BuildRequires:  tar >= 1:1.22
51 BuildRequires:  util-linux
52 BuildRequires:  xz
53 BuildRequires:  zlib-devel
54 Requires:       apache(modules-api) = %apache_modules_api
55 Requires:       apache-mod_authz_host
56 Requires:       apache-mod_headers
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         _pkgrootdir     %(%{apxs} -q SYSCONFDIR 2>/dev/null)
62 %define         _sysconfdir     %{_pkgrootdir}/conf.d
63 %define         htdocsdir       %(%{apxs} -q htdocsdir 2>/dev/null)
64 %define         cachedir        %(%{apxs} -q proxycachedir 2>/dev/null)/mod_%{mod_name}
65
66 %description
67 mod_pagespeed automates the application of those rules in an Apache
68 server. HTML, CSS, JavaScript, and images are changed dynamically
69 during the web serving process, so that the best practices recommended
70 by Page Speed can be used without having to change the way the web
71 site is maintained.
72
73 %prep
74 %setup -q -n modpagespeed-%{version}
75 %patch0 -p2
76 %patch1 -p2
77 %patch2 -p1
78 %patch3 -p3
79 %patch4 -p1
80
81 %build
82 # re-gen makefiles
83 CC="%{__cc}" \
84 CXX="%{__cxx}" \
85 %{__python} build/gyp_chromium \
86         --format=make \
87         --depth=. \
88         build/all.gyp \
89         -Duse_openssl=1 \
90         -Duse_system_apache_dev=1 \
91         -Duse_system_libjpeg=1 \
92         -Duse_system_libpng=1 \
93         -Duse_system_opencv=1 \
94         -Duse_system_zlib=1 \
95         -Dsystem_include_path_apr=%{_includedir}/apr \
96         -Dsystem_include_path_aprutil=%{_includedir}/apr-util \
97         -Dsystem_include_path_httpd=%{_includedir}/apache \
98         %{nil}
99
100 %{__make} mod_pagespeed js_minify css_minify_main \
101         BUILDTYPE=%{!?debug:Release}%{?debug:Debug} \
102         %{?with_verbose:V=1} \
103         CC="%{__cc}" \
104         CXX="%{__cxx}" \
105         CC.host="%{__cc}" \
106         CXX.host="%{__cxx}" \
107         LINK.host="%{__cxx}" \
108         CFLAGS="%{rpmcflags} %{rpmcppflags}" \
109         CXXFLAGS="%{rpmcxxflags} %{rpmcppflags}" \
110         %{nil}
111
112 %install
113 rm -rf $RPM_BUILD_ROOT
114 install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sysconfdir},%{_bindir},%{cachedir}}
115
116 %{__make} -j1 -C install staging_except_module \
117         APACHE_ROOT=%{_pkgrootdir} \
118         APACHE_MODULES=modules \
119         APACHE_DOC_ROOT=%{htdocsdir} \
120         MOD_PAGESPEED_CACHE=%{cachedir} \
121         MOD_PAGESPEED_STATS_LOG=/var/log/httpd/mod_pagespeed_stats.log \
122         STAGING_DIR=staging
123
124 out=out/%{!?debug:Release}%{?debug:Debug}
125 install -p $out/libmod_%{mod_name}.so $RPM_BUILD_ROOT%{_pkglibdir}/mod_%{mod_name}.so
126 install -p $out/js_minify $RPM_BUILD_ROOT%{_bindir}/pagespeed_js_minify
127 install -p $out/css_minify_main $RPM_BUILD_ROOT%{_bindir}/pagespeed_css_minify
128
129 cd install/staging
130 cat > $RPM_BUILD_ROOT%{_sysconfdir}/90_mod_%{mod_name}.conf <<EOF
131 LoadModule %{mod_name}_module   modules/mod_%{mod_name}.so
132
133 $(cat pagespeed.conf)
134 EOF
135
136 cp -p pagespeed_libraries.conf $RPM_BUILD_ROOT%{_sysconfdir}/91_mod_%{mod_name}_libraries.conf
137
138 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
139 cp -a mod_pagespeed_example/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
140
141 %clean
142 rm -rf $RPM_BUILD_ROOT
143
144 %post
145 %service -q httpd restart
146
147 %postun
148 if [ "$1" = "0" ]; then
149         %service -q httpd restart
150 fi
151
152 %files
153 %defattr(644,root,root,755)
154 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*_mod_%{mod_name}.conf
155 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*_mod_%{mod_name}_libraries.conf
156 %attr(755,root,root) %{_bindir}/pagespeed_css_minify
157 %attr(755,root,root) %{_bindir}/pagespeed_js_minify
158 %attr(755,root,root) %{_pkglibdir}/mod_%{mod_name}.so
159 %{_examplesdir}/%{name}-%{version}
160 %dir %attr(770,root,http) %{cachedir}
This page took 0.089979 seconds and 3 git commands to generate.