/[packages]/updates/3/phpmyadmin/current/SPECS/phpmyadmin.spec
ViewVC logotype

Contents of /updates/3/phpmyadmin/current/SPECS/phpmyadmin.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 798086 - (show annotations) (download)
Fri Nov 21 18:21:41 2014 UTC (4 years, 7 months ago) by luigiwalser
File size: 5566 byte(s)
4.1.14.7 (fixes CVE-2014-895[89] and CVE-2014-896[01])
1 %define upstream_name phpMyAdmin
2
3 Summary: Handles the administration of MySQL over the web
4 Name: phpmyadmin
5 Version: 4.1.14.7
6 Release: %mkrel 1
7 License: GPLv2
8 Group: System/Servers
9 URL: http://www.phpmyadmin.net/
10 Source0: http://prdownloads.sourceforge.net/phpmyadmin/%{upstream_name}-%{version}-all-languages.tar.xz
11 Source1: phpmyadmin-16x16.png
12 Source2: phpmyadmin-32x32.png
13 Source3: phpmyadmin-48x48.png
14 Source4: phpmyadmin.conf
15 Patch0: phpMyAdmin-4.0.0-default_config.diff
16 Patch1: phpMyAdmin-4.0.0-external_phpseclib.diff
17 Requires: apache-mod_php
18 Requires: php-mysqli
19 Requires: php-mbstring
20 Requires: php-mcrypt
21 BuildArch: noarch
22 Obsoletes: phpMyAdmin
23 # used by setup
24 Suggests: php-bz2 php-zip
25 # parts of phpseclib is bundled in libraries/phpseclib/Crypt, but is incomplete
26 # http://sourceforge.net/projects/phpseclib/
27 Requires: phpseclib
28
29 %description
30 phpMyAdmin is intended to handle the administration of MySQL over the web.
31 Currently it can : create and drop databases, create, copy, drop and alter
32 tables, delete, edit and add fields, execute any SQL-statement, even
33 batch-queries, manage keys on fields, load text files into tables, create and
34 read dumps of tables, export data to CSV value, administer multiple servers
35 and single databases.
36
37 %prep
38 %setup -q -n %{upstream_name}-%{version}-all-languages
39 %patch0 -p0
40
41 # Setup vendor config file
42 sed -e "/'CHANGELOG_FILE'/s@./ChangeLog@%{_datadir}/doc/%{name}/ChangeLog@" \
43 -e "/'LICENSE_FILE'/s@./LICENSE@%{_datadir}/doc/%{name}/LICENSE@" \
44 -e "/'CONFIG_DIR'/s@'./'@'%{_sysconfdir}/%{name}/'@" \
45 -e "/'SETUP_CONFIG_FILE'/s@./config/config.inc.php@%{_localstatedir}/lib/%{name}/config/config.inc.php@" \
46 -i libraries/vendor_config.php
47
48 %build
49
50 %install
51 export DONT_RELINK=1
52
53 install -d %{buildroot}%{_sysconfdir}/%{name}
54 install -d %{buildroot}%{_datadir}/%{name}
55
56 cp -aRf * %{buildroot}%{_datadir}/%{name}/
57
58 # cleanup
59 pushd %{buildroot}%{_datadir}/%{name}
60 rm -f CREDITS ChangeLog Documentation.txt INSTALL LICENSE README
61 rm -f README.VENDOR RELEASE-DATE-* TODO
62 rm -rf scripts
63 rm -rf contrib
64 rm -rf doc
65 rm -f lang/*.sh libraries/transformations/*.sh
66 rm -rf libraries/phpseclib
67 rm -rf phpunit.xml.nocoverage
68 # nuke the patch backup, if any
69 rm -f config.sample.inc.php.*
70 find -name "\.htaccess" | xargs rm -f
71 popd
72
73 # fix docs
74 install -d %{buildroot}%{_datadir}/%{name}/doc/html/_static
75 install -m0644 doc/html/*.html doc/html/*.js %{buildroot}%{_datadir}/%{name}/doc/html/
76 install -m0644 doc/html/_static/* %{buildroot}%{_datadir}/%{name}/doc/html/_static/
77
78 # fix config file location
79 # keep the "config.inc.php" file name as this is hard coded everywhere.
80 mv %{buildroot}%{_datadir}/%{name}/config.sample.inc.php \
81 %{buildroot}%{_sysconfdir}/%{name}/config.inc.php
82
83 chmod 640 %{buildroot}%{_sysconfdir}/%{name}/config.inc.php
84
85 install -d %{buildroot}%{_localstatedir}/lib/%{name}/{upload,save,config}
86
87 cat > README.urpmi << EOF
88 The actual configuration file is /etc/phpmyadmin/config.inc.php
89 The %{_datadir}/%{name}/config.default.inc.php file contains default
90 values, and is not supposed to be modified.
91 EOF
92
93 # new Icons
94 install -d %{buildroot}%{_iconsdir}
95 install -d %{buildroot}%{_miconsdir}
96 install -d %{buildroot}%{_liconsdir}
97
98 install -m0644 %{SOURCE1} %{buildroot}%{_miconsdir}/%{name}.png
99 install -m0644 %{SOURCE2} %{buildroot}%{_iconsdir}/%{name}.png
100 install -m0644 %{SOURCE3} %{buildroot}%{_liconsdir}/%{name}.png
101
102 # install menu entry.
103 # XDG menu
104 install -d %{buildroot}%{_datadir}/applications
105 cat > %{buildroot}%{_datadir}/applications/%{_real_vendor}-%{name}.desktop << EOF
106 [Desktop Entry]
107 Name=phpMyAdmin
108 Comment=%{summary}
109 Exec=%{_bindir}/www-browser http://localhost/%{name}/
110 Icon=%{name}
111 Terminal=false
112 Type=Application
113 Categories=X-MandrivaLinux-MoreApplications-Databases;
114 EOF
115
116 install -d -m 755 %{buildroot}%{_webappconfdir}
117 install -m0644 %{SOURCE4} %{buildroot}%{_webappconfdir}/%{name}.conf
118
119 # fix borked permissions
120 find %{buildroot}%{_datadir}/%{name} -type d -exec chmod 755 {} \;
121 find %{buildroot}%{_datadir}/%{name} -type f -exec chmod 644 {} \;
122
123 %pretrans
124 # fix configuration file name change
125 if [ -f %{_sysconfdir}/phpmyadmin/config.default.php ]; then
126 mv %{_sysconfdir}/phpmyadmin/config.default.php \
127 %{_sysconfdir}/phpmyadmin/config.php
128 fi
129 # use the default file name
130 if [ -f %{_sysconfdir}/phpmyadmin/config.php ]; then
131 mv %{_sysconfdir}/phpmyadmin/config.php \
132 %{_sysconfdir}/phpmyadmin/config.inc.php
133 fi
134 if [ -L /var/www/phpmyadmin/libraries/config.default.php ]; then
135 rm -f /var/www/phpmyadmin/libraries/config.default.php
136 fi
137 if [ -L %{_datadir}/phpmyadmin/libraries/config.default.php ]; then
138 rm -f %{_datadir}/phpmyadmin/libraries/config.default.php
139 fi
140
141 %post
142 # generate random secret
143 secret=%_get_password 46
144
145 # blowfish secret
146 perl -pi \
147 -e "s|\\\$cfg\\['blowfish_secret'\\] = ''|\\\$cfg\\['blowfish_secret'\\] = '$secret'|" \
148 %{_sysconfdir}/%{name}/config.inc.php
149
150 %files
151 %doc ChangeLog LICENSE README RELEASE-DATE-* README.urpmi
152 %config(noreplace) %{webappconfdir}/%{name}.conf
153 %dir %{_sysconfdir}/%{name}
154 %attr(-,root,apache) %config(noreplace) %{_sysconfdir}/%{name}/config.inc.php
155 %{_datadir}/%{name}
156 %dir %{_localstatedir}/lib/%{name}/
157 %dir %attr(0755,apache,apache) %{_localstatedir}/lib/%{name}/upload
158 %dir %attr(0755,apache,apache) %{_localstatedir}/lib/%{name}/save
159 %dir %attr(0755,apache,apache) %{_localstatedir}/lib/%{name}/config
160 %{_iconsdir}/%{name}.png
161 %{_miconsdir}/%{name}.png
162 %{_liconsdir}/%{name}.png
163 %{_datadir}/applications/*.desktop

  ViewVC Help
Powered by ViewVC 1.1.26