diff options
author | grufo | 2020-09-19 05:36:32 +0100 |
---|---|---|
committer | grufo | 2020-09-19 05:36:32 +0100 |
commit | 6a3b14b4df90b5614982a985984cfe49824144dd (patch) | |
tree | 23cb5e92341035fd19ccd32202ef26482d00aace /PKGBUILD | |
parent | ecd69097bbeaa6da160734a0737bf09f5ad05191 (diff) | |
download | aur-6a3b14b4df90b5614982a985984cfe49824144dd.tar.gz |
Globally: executables, launchers and polkit actions; PKGBUILD: variables and multi-platform support; xampp.install: backup rules in `pre_remove()`
Diffstat (limited to 'PKGBUILD')
-rwxr-xr-x | PKGBUILD | 154 |
1 files changed, 93 insertions, 61 deletions
@@ -8,44 +8,58 @@ pkgname='xampp' pkgver='7.4.10' -pkgrel=8 -pkgdesc='A stand-alone LAMPP distribution' -_platform='linux-x64' _uppkgrel=0 +pkgrel=9 +pkgdesc='A stand-alone LAMPP distribution' url='https://www.apachefriends.org/' license=('GPL') +# This PKGBUILD is configured for both 32-bit and 64-bit architectures, but +# currently no binaries for 32-bit architectures are distributed. The last +# versions where these are available are 5.6.23-0 and 7.0.8-0. arch=('x86_64') depends=('net-tools') optdepends=('polkit: for launching XAMPP Manager and Control Panel from menu' 'pygtk: for using XAMPP Control Panel') makedepends=('sdx' 'tclkit' 'rsync') source=('bitrock-unpacker.tcl' - 'org.freedesktop.xampp-manager.policy' + 'org.apachefriends.xampp.policy' 'properties.ini.in' - 'xampp.service' + 'xampp.service.in' 'xampp.svg' 'xampp.sysusers' - 'xampp.tmpfiles' - 'xampp-control-panel' + 'xampp.tmpfiles.in' + 'xampp-control-panel.in' 'xampp-control-panel.desktop' - 'xampp-manager' + 'xampp-manager.in' 'xampp-manager.desktop') -source_x86_64=("${url}/${pkgname}-files/${pkgver}/${pkgname}-${_platform}-${pkgver}-${_uppkgrel}-installer.run") -options=(staticlibs libtool !strip) +_build32name='linux' +_build64name='linux-x64' +source_i686=("${url}/${pkgname}-files/${pkgver}/${pkgname}-${_build32name}-${pkgver}-${_uppkgrel}-installer.run") +source_x86_64=("${url}/${pkgname}-files/${pkgver}/${pkgname}-${_build64name}-${pkgver}-${_uppkgrel}-installer.run") +options=('staticlibs' 'libtool' '!strip') install='xampp.install' sha256sums=('3f262ef4b3e752992667ab482cbf364e3b9e6f95b4b6fb12a1ce6fa7a88f124e' - '4092631d86ec1c3a155bfec76ea2c8433426a13f12a7a5866f843a099f1ca418' - 'ff3eac073707f0463a703b2c0caeaa6a513fdeb3c289c85b2708ad9defd3f6bb' - '78854cb427117c69117a8f20685acbe898a02bc3af1409950117986ff1b45f1f' + 'ce87d4c7d227a94ca8252cde1f6dca7e1691a213779c8e6485ac1e2bd4cc63ba' + 'ae9dc07ce5cd57987cdd03af5fff415be471d60fe71563b900c9f4bd9cd71e04' + 'f3165bfb3b5fac6e840b423b62a0aee4ab7c60d1955b7f5f1bc58e33f5174f6a' 'a3fc7f2b570af9d05435f2f9a0b8d7d9b30ee1dbeaea152f8e249ef5ef0461c9' '37e24dacf3a52037d0cddb11d979917f81741bf399ec5fa5e847359909b7bc25' - 'abdd8e08dc12b1cc57f430460b4653d2b76c53c43f113635983c98e59769ee63' - 'd6135f2f5f089b6293d4d2e87072ec63071e8f76c40e1e2642ed27812c84318c' - '6451a2e210a7d4d807618c7042a966343cc346ec860680d777b463c30026057e' - '6fa0e2ce22b51d5c611ff0b4179fc3bdf575a2cd3c69f2dd9f0d4dd6e3ab8814' - '584f891f908aa5ea95c9a19d4298c1a582e81fcace3ab0741cbd3f4fac33128a') + 'e8e0ddeb7201b7ee6e7e6838b3b37cdca03f0f3e8ba1b9e05fbd657c18efb99e' + '94976a27b06192c5cc8fea64058cda164751be137d853c863238e965db51db40' + 'b03a927a8bc13de2f8ad728607f4b0841e738246ee858a0c202fe10dc8ed26dd' + '0cbfb01a844e48ac64a256b1639eebbe6a36c60f712b0c8794eef8722f436762' + '9d0cc215118fdb3aae00cbd64e284bcbbda28273f0b82ee2a3bb0aa725336ffd') sha256sums_x86_64=('dc216c55f99b04a9e1a458c7c881127fdbf30963710a32f6d5228a09c3cde722') +sha256sums_i686=('SKIP') + +_platform="$(test "${CARCH}" = 'x86_64' && echo "${_build64name}" || echo "${_build32name}")" +_pkgstring="${pkgname}-${_platform}-${pkgver}-${_uppkgrel}" + +# Make a string suitable for `sed`, by escaping []/&$.*^ - syntax: `_sed_escape STRING` +_sed_escape() { + echo "${1}" | sed 's/[]\/&.*$^[]/\\&/g' +} prepare() { @@ -54,86 +68,104 @@ prepare() { msg 'Extracting package...' chmod +x "${srcdir}/bitrock-unpacker.tcl" rm -rf "${srcdir}/${pkgname}-${_platform}-${pkgver}" - "${srcdir}/bitrock-unpacker.tcl" "${srcdir}/${pkgname}-${_platform}-${pkgver}-0-installer.run" \ - "${srcdir}/${pkgname}-${_platform}-${pkgver}" + "${srcdir}/bitrock-unpacker.tcl" "${srcdir}/${_pkgstring}-installer.run" \ + "${srcdir}/${_pkgstring}" } package() { + # This is a constant, you should not change it - this path is hard coded in some of the files + local _xamppdir='/opt/lampp' + + local _sed_subst=" + s/@PACKAGE_VERSION@/$(_sed_escape "${pkgver}-${_uppkgrel}")/g + s/@PACKAGE_PLATFORM@/$(_sed_escape "${_platform}")/g + s/@PACKAGE_INSTALLDIR@/$(_sed_escape "${_xamppdir}")/g + " + cd "${srcdir}" + # Package tree msg 'Recreating package tree...' - install -dm755 "${pkgdir}/opt/lampp" + install -dm755 "${pkgdir}${_xamppdir}" rsync -azq --remove-source-files \ - "${srcdir}/${pkgname}-${_platform}-${pkgver}/xampp_core_files/xampp_core_folder"/. \ - "${srcdir}/${pkgname}-${_platform}-${pkgver}/xampp_developer_files/xampp_developer_folder"/. \ - "${srcdir}/${pkgname}-${_platform}-${pkgver}/native_apache_adapter/apache_xampp_linux"/. \ - "${srcdir}/${pkgname}-${_platform}-${pkgver}/native_proftpd_adapter/proftpd_xampp_linux"/. \ - "${srcdir}/${pkgname}-${_platform}-${pkgver}/native_mysql_adapter/mysql_xampp_linux"/. \ - "${srcdir}/${pkgname}-${_platform}-${pkgver}/manager/binary"/. \ - "${srcdir}/${pkgname}-${_platform}-${pkgver}/common_native_adapter/common"/. \ - "${pkgdir}/opt/lampp" - - rm "${pkgdir}/opt/lampp/ctlscript.bat" "${pkgdir}/opt/lampp/killprocess.bat" - - # Set root location in all files + "${srcdir}/${_pkgstring}/xampp_core_files/xampp_core_folder"/. \ + "${srcdir}/${_pkgstring}/xampp_developer_files/xampp_developer_folder"/. \ + "${srcdir}/${_pkgstring}/native_apache_adapter/apache_xampp_linux"/. \ + "${srcdir}/${_pkgstring}/native_proftpd_adapter/proftpd_xampp_linux"/. \ + "${srcdir}/${_pkgstring}/native_mysql_adapter/mysql_xampp_linux"/. \ + "${srcdir}/${_pkgstring}/manager/binary"/. \ + "${srcdir}/${_pkgstring}/common_native_adapter/common"/. \ + "${pkgdir}${_xamppdir}" + + rm "${pkgdir}${_xamppdir}/ctlscript.bat" "${pkgdir}${_xamppdir}/killprocess.bat" + + # Root location in all files msg 'Setting root location globally (it might take a few minutes)...' - find "${pkgdir}/opt/lampp/" -type f \ - -exec sed -i 's/\@\@BITNAMI_XAMPP_ROOT\@\@\|\@\@BITROCK_INSTALLDIR\@\@/\/opt\/lampp/gI' '{}' \; + find "${pkgdir}${_xamppdir}/" -type f \ + -exec sed -i "s/@@BITNAMI_XAMPP_ROOT@@\|@@BITROCK_INSTALLDIR@@/$(_sed_escape "${_xamppdir}")/gI" '{}' \; # Temp folders - install -dm777 "${pkgdir}/opt/lampp/phpmyadmin/tmp" - chmod 777 "${pkgdir}/opt/lampp/temp" + install -dm777 "${pkgdir}${_xamppdir}/phpmyadmin/tmp" + chmod 777 "${pkgdir}${_xamppdir}/temp" # phpMyAdmin MySQL settings (currently unused option) #msg 'Configuring phpMyAdmin settings for MySQL...' - #find "${pkgdir}/opt/lampp/phpmyadmin" -type f -exec sed -i 's/localhost/localhost:3306/gI' '{}' \; + #find "${pkgdir}${_xamppdir}/phpmyadmin" -type f -exec sed -i 's/localhost/localhost:3306/gI' '{}' \; # Links and missing files - ln -s '/opt/lampp/xampp' "${pkgdir}/opt/lampp/lampp" - test -d "${pkgdir}/opt/lampp/share/lampp" || \ - ln -sf '/opt/lampp/share/xampp' "${pkgdir}/opt/lampp/share/lampp" - - sed "s/@PACKAGE_VERSION@/${pkgver}-${_uppkgrel}/g;s/@PACKAGE_PLATFORM@/${_platform}/g" \ - "${srcdir}/properties.ini.in" > "${pkgdir}/opt/lampp/properties.ini" - - echo -n "${pkgver}-${_uppkgrel}" > "${pkgdir}/opt/lampp/lib/VERSION" + sed "${_sed_subst}" "${srcdir}/properties.ini.in" > "${pkgdir}${_xamppdir}/properties.ini" + echo -n "${pkgver}-${_uppkgrel}" > "${pkgdir}${_xamppdir}/lib/VERSION" + ln -s "${_xamppdir}/xampp" "${pkgdir}${_xamppdir}/lampp" + test -d "${pkgdir}${_xamppdir}/share/lampp" || \ + ln -sf "${_xamppdir}/share/xampp" "${pkgdir}${_xamppdir}/share/lampp" # For using MariaDB from the official packages (currently unused option) - #find "${pkgdir}/opt/lampp/mysql/scripts" -type f -exec sed -i 's/\/opt\/lampp\/var\/mysql\/$HOSTNAME.pid/\/var\/lib\/mysql\/$HOSTNAME.pid/gI' '{}' \; - #find "${pkgdir}/opt/lampp/" -type f -exec sed -i 's/\/opt\/lampp\/var\/mysql\/mysql.sock/\/run\/mysqld\/mysqld.sock/gI' '{}' \; + #find "${pkgdir}${_xamppdir}/mysql/scripts" -type f -exec sed -i 's/'"$(_sed_escape "${_xamppdir}")"'\/var\/mysql\/$HOSTNAME.pid/\/var\/lib\/mysql\/$HOSTNAME.pid/gI' '{}' \; + #find "${pkgdir}${_xamppdir}/" -type f -exec sed -i "s/$(_sed_escape "${_xamppdir}")\/var\/mysql\/mysql.sock/\/run\/mysqld\/mysqld.sock/gI" '{}' \; # For running MySQL from the official packages (currently unused option) - #find "${pkgdir}/opt/lampp/mysql/scripts" -type f -exec sed -i 's/\/opt\/lampp\/lampp\ startmysql/systemctl\ start\ mysqld/gI' '{}' \; + #find "${pkgdir}${_xamppdir}/mysql/scripts" -type f -exec sed -i "s/$(_sed_escape "${_xamppdir}")\/lampp\ startmysql/systemctl\ start\ mysqld/gI" '{}' \; msg 'Copying executables and launcher...' # Licenses install -dm755 "${pkgdir}/usr/share/licenses" - chmod -R a+rX,u+w "${pkgdir}/opt/lampp/licenses" - ln -s '/opt/lampp/licenses' "${pkgdir}/usr/share/licenses/xampp" + chmod -R a+rX,u+w "${pkgdir}${_xamppdir}/licenses" + ln -s "${_xamppdir}/licenses" "${pkgdir}/usr/share/licenses/xampp" # Executables install -dm755 "${pkgdir}/usr/bin" - install -Dm755 "${srcdir}/xampp-manager" "${pkgdir}/usr/bin/xampp-manager" - install -Dm755 "${srcdir}/xampp-control-panel" "${pkgdir}/usr/bin/xampp-control-panel" - ln -s '/opt/lampp/xampp' "${pkgdir}/usr/bin/xampp" + ln -s "${_xamppdir}/xampp" "${pkgdir}/usr/bin/xampp" + sed "${_sed_subst}" "${srcdir}/xampp-manager.in" > "${pkgdir}/usr/bin/xampp-manager" + sed "${_sed_subst}" "${srcdir}/xampp-control-panel.in" > "${pkgdir}/usr/bin/xampp-control-panel" + chmod +x "${pkgdir}/usr/bin/xampp-control-panel" "${pkgdir}/usr/bin/xampp-manager" # Systemd files - install -dm755 "${pkgdir}/etc/systemd/system" - install -Dm644 "${srcdir}/xampp.service" "${pkgdir}/etc/systemd/system/xampp.service" + install -dm755 \ + "${pkgdir}/etc/systemd/system" \ + "${pkgdir}/usr/lib/sysusers.d" \ + "${pkgdir}/usr/lib/tmpfiles.d" + + sed "${_sed_subst}" "${srcdir}/xampp.service.in" > "${pkgdir}/etc/systemd/system/xampp.service" install -Dm644 "${srcdir}/xampp.sysusers" "${pkgdir}/usr/lib/sysusers.d/xampp.conf" - install -Dm644 "${srcdir}/xampp.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/xampp.conf" + sed "${_sed_subst}" "${srcdir}/xampp.tmpfiles.in" > "${pkgdir}/usr/lib/tmpfiles.d/xampp.conf" + + # Launchers and icons + install -dm755 \ + "${pkgdir}/usr/share/pixmaps" \ + "${pkgdir}/usr/share/applications" - # Integration with the Filesystem Hierarchy Standard install -Dm644 "${srcdir}/xampp.svg" "${pkgdir}/usr/share/pixmaps/xampp.svg" install -Dm644 "${srcdir}/xampp-manager.desktop" "${pkgdir}/usr/share/applications/xampp-manager.desktop" install -Dm644 "${srcdir}/xampp-control-panel.desktop" "${pkgdir}/usr/share/applications/xampp-control-panel.desktop" - ln -s '/opt/lampp' "${pkgdir}/usr/share/xampp" + ln -s "${_xamppdir}" "${pkgdir}/usr/share/xampp" - # Install policy file for desktop launcher - install -Dm644 "${srcdir}/org.freedesktop.xampp-manager.policy" "${pkgdir}/usr/share/polkit-1/actions/org.freedesktop.xampp-manager.policy" + # Polkit files + install -dm755 "${pkgdir}/usr/share/polkit-1/actions" + install -Dm644 "${srcdir}/org.apachefriends.xampp.policy" \ + "${pkgdir}/usr/share/polkit-1/actions/org.apachefriends.xampp.policy" # Update backup list for the next time – currently unused method (we use the # install script for this) - requires `readarray backup < "./backup.lst"`) |