chrome.spec.template revision f2477e01787aa58f445919b809d89e252beef54f
1#------------------------------------------------------------------------------ 2# chrome.spec 3#------------------------------------------------------------------------------ 4 5#------------------------------------------------------------------------------ 6# Prologue information 7#------------------------------------------------------------------------------ 8Summary : @@MENUNAME@@ 9License : Multiple, see @@PRODUCTURL@@ 10Name : @@PACKAGE@@-@@CHANNEL@@ 11Version : @@VERSION@@ 12Release : @@PACKAGE_RELEASE@@ 13Group : Applications/Internet 14Vendor : @@COMPANY_FULLNAME@@ 15Url : @@PRODUCTURL@@ 16Packager : @@MAINTNAME@@ <@@MAINTMAIL@@> 17 18Provides : @@PROVIDES@@ = %{version} 19Requires : @@DEPENDS@@ 20Requires(post) : %{_sbindir}/update-alternatives 21Requires(preun) : %{_sbindir}/update-alternatives 22Autoreqprov : No 23Conflicts : @@REPLACES@@ 24 25BuildRoot : %{_tmppath}/%{name}-%{version}-root 26 27# The prefix is pretty important; RPM uses this to figure out 28# how to make a package relocatable 29prefix : /opt 30 31#------------------------------------------------------------------------------ 32# Description 33#------------------------------------------------------------------------------ 34%Description 35@@SHORTDESC@@ 36 37@@FULLDESC@@ 38 39#------------------------------------------------------------------------------ 40# Build rule - How to make the package 41#------------------------------------------------------------------------------ 42%build 43 44#------------------------------------------------------------------------------ 45# Installation rule - how to install it (note that it 46# gets installed into a temp directory given by $RPM_BUILD_ROOT) 47#------------------------------------------------------------------------------ 48%install 49rm -rf "$RPM_BUILD_ROOT" 50 51if [ -z "@@STAGEDIR@@" -o ! -d "@@STAGEDIR@@" ] ; then 52 echo "@@STAGEDIR@@ appears to be incorrectly set - aborting" 53 exit 1 54fi 55 56if [ -z "@@INSTALLDIR@@" -o ! -d "@@STAGEDIR@@/@@INSTALLDIR@@" ] ; then 57 echo "@@INSTALLDIR@@ appears to be incorrectly set - aborting" 58 exit 1 59fi 60 61install -m 755 -d \ 62 "$RPM_BUILD_ROOT/etc" \ 63 "$RPM_BUILD_ROOT/opt" \ 64 "$RPM_BUILD_ROOT/usr" 65# This is hard coded for now 66cp -a "@@STAGEDIR@@/etc/" "$RPM_BUILD_ROOT/" 67cp -a "@@STAGEDIR@@/opt/" "$RPM_BUILD_ROOT/" 68cp -a "@@STAGEDIR@@/usr/" "$RPM_BUILD_ROOT/" 69 70#------------------------------------------------------------------------------ 71# Rule to clean up a build 72#------------------------------------------------------------------------------ 73%clean 74rm -rf "$RPM_BUILD_ROOT" 75 76#------------------------------------------------------------------------------ 77# Files listing. 78#------------------------------------------------------------------------------ 79%files 80%defattr(-,root,root) 81#%doc README 82 83# We cheat and just let RPM figure it out for us; everything we install 84# should go under this prefix anyways. 85@@INSTALLDIR@@ 86 87# Be explicit about the files we scatter throughout the system we don't 88# accidentally "own" stuff that's not ours (crbug.com/123990). 89/etc/cron.daily/@@PACKAGE_FILENAME@@ 90%ghost %attr(755,root,root) /usr/bin/google-chrome 91/usr/bin/@@USR_BIN_SYMLINK_NAME@@ 92/usr/share/applications/@@PACKAGE_FILENAME@@.desktop 93/usr/share/gnome-control-center/default-apps/@@PACKAGE_FILENAME@@.xml 94%docdir /usr/share/man/man1 95/usr/share/man/man1/@@PACKAGE_FILENAME@@.1 96 97#------------------------------------------------------------------------------ 98# Pre install script 99#------------------------------------------------------------------------------ 100%pre 101 102exit 0 103 104 105 106 107#------------------------------------------------------------------------------ 108# Post install script 109#------------------------------------------------------------------------------ 110%post 111 112@@include@@../common/postinst.include 113 114@@include@@../common/rpm.include 115 116@@include@@../common/symlinks.include 117 118remove_nss_symlinks 119add_nss_symlinks 120 121remove_udev_symlinks 122add_udev_symlinks 123 124DEFAULTS_FILE="/etc/default/@@PACKAGE@@" 125if [ ! -e "$DEFAULTS_FILE" ]; then 126 echo 'repo_add_once="true"' > "$DEFAULTS_FILE" 127fi 128 129. "$DEFAULTS_FILE" 130 131if [ "$repo_add_once" = "true" ]; then 132 determine_rpm_package_manager 133 134 case $PACKAGEMANAGER in 135 "yum") 136 install_yum 137 ;; 138 "urpmi") 139 install_urpmi 140 ;; 141 "yast") 142 install_yast 143 ;; 144 esac 145fi 146 147# Some package managers have locks that prevent everything from being 148# configured at install time, so wait a bit then kick the cron job to do 149# whatever is left. Probably the db will be unlocked by then, but if not, the 150# cron job will keep retrying. 151# Do this with 'at' instead of a backgrounded shell because zypper waits on all 152# sub-shells to finish before it finishes, which is exactly the opposite of 153# what we want here. Also preemptively start atd because for some reason it's 154# not always running, which kind of defeats the purpose of having 'at' as a 155# required LSB command. 156service atd start 157echo "sh /etc/cron.daily/@@PACKAGE@@" | at now + 2 minute > /dev/null 2>&1 158 159CHANNEL=@@CHANNEL@@ 160case $CHANNEL in 161 stable ) 162 PRIORITY=200 163 ;; 164 beta ) 165 PRIORITY=150 166 ;; 167 unstable ) 168 PRIORITY=120 169 ;; 170 * ) 171 PRIORITY=0 172 ;; 173esac 174 175%{_sbindir}/update-alternatives --install /usr/bin/google-chrome google-chrome \ 176 /usr/bin/@@USR_BIN_SYMLINK_NAME@@ $PRIORITY 177 178exit 0 179 180 181#------------------------------------------------------------------------------ 182# Pre uninstallation script 183#------------------------------------------------------------------------------ 184%preun 185 186if [ "$1" -eq "0" ]; then 187 mode="uninstall" 188elif [ "$1" -eq "1" ]; then 189 mode="upgrade" 190fi 191 192@@include@@../common/rpm.include 193 194@@include@@../common/symlinks.include 195 196# Only remove menu items and symlinks on uninstall. When upgrading, 197# old_pkg's %preun runs after new_pkg's %post. 198if [ "$mode" = "uninstall" ]; then 199@@include@@../common/prerm.include 200 remove_nss_symlinks 201 remove_udev_symlinks 202 203 %{_sbindir}/update-alternatives --remove google-chrome \ 204 /usr/bin/@@USR_BIN_SYMLINK_NAME@@ 205fi 206 207# On Debian we only remove when we purge. However, RPM has no equivalent to 208# dpkg --purge, so this is all disabled. 209# 210#determine_rpm_package_manager 211# 212#case $PACKAGEMANAGER in 213#"yum") 214# remove_yum 215# ;; 216#"urpmi") 217# remove_urpmi 218# ;; 219#"yast") 220# remove_yast 221# ;; 222#esac 223 224exit 0 225 226#------------------------------------------------------------------------------ 227# Post uninstallation script 228#------------------------------------------------------------------------------ 229%postun 230 231exit 0 232