makedeb


nextcloud 22.1.1-1


A cloud server to store your files centrally on a hardware controlled by you

Viewing /PKGBUILD.

View raw.

Click here to go back to the Git tree for nextcloud.

# Maintainer: RlndVt (RlndVt@gmail.com)

pkgname=nextcloud
# NOTE: do not package x.0.0 versions as they are considered beta
pkgver=22.1.1
pkgrel=1
pkgdesc="A cloud server to store your files centrally on a hardware controlled by you"
arch=('any')
url="https://nextcloud.com"
license=('AGPL3')
depends=('php' 'php-gd')
optdepends=(
  'curl: for webcron jobs from within uwsgi'
  'ffmpeg: for preview generation'
  'libreoffice: for preview generation'
  'mariadb: to use a local MariaDB server'
  'memcached: to use a local memcached server'
  'php-apcu: for caching with APCU'
  #'php-apache: to use the Apache web server' Not a Debian Package
  #'mod_itk: to use the Apache web server' Not a Debian Package
  'php-fpm: to run in fastCGI process manager'
  'php-imagick: for preview generation'
  'php-imap: for external user authentication'
  'php-intl: to increase language translation performance and fix sorting'
  'php-memcached: for caching with memcached'
  'php-pgsql: to use the PostgreSQL database backend'
  'php-redis: for caching with redis'
  'php-sqlite3: to use the SQLite database backend'
  'postgresql: to use a local PostgreSQL server'
  'redis: to use a local Redis server'
  'smbclient: for SMB/CIFS integration'
  'sudo: for privilege elevation in occ command when not run as root'
  'uwsgi-plugin-php: run as application container'
)
backup=(
  "etc/webapps/${pkgname}/config/config.php"
  "etc/webapps/${pkgname}/.htaccess"
  "etc/uwsgi/${pkgname}.ini"
)
# there are no elf files, no need to strip anything
options=(!strip)
install="${pkgname}.install"
source=(
  "https://download.nextcloud.com/server/releases/nextcloud-${pkgver}.tar.bz2"{,.asc}
  'apache.example.conf'
  "${pkgname}.config.php"
  "${pkgname}.hook"
  "${pkgname}.occ.sh"
  "${pkgname}.sysusers"
  "${pkgname}.tmpfiles"
  "${pkgname}.uwsgi"
  "${pkgname}-cron.service"
  "${pkgname}-cron.timer"
)
sha512sums=('0b418d7d0e0e825ec9259334e377449a8dcd183dc907b094361c70b51b00732353996fdbf12f17c06cfa6bb918221cac56ee3051df0308ff453bb2d727e9c0ad'
            'SKIP'
            '5f9be223225e6ad2772989c440df8585a852ea0be697274384064ec73df47dab2f5d0847c275732fab26c419a713911d8f77ebc2b639bf6e8ede76272b752cde'
            '92592f9a76ee534d0ae6d3aedf2257c147337debe7e2d6dbec1daff66a682e3abc74611e08662058de314bf3ea6ff1c85efd678674b782d71251c38786e446f9'
            '7b18b73ee369607b8ee3d00d2a054262a7b8f3033fc4873eb333c9b9333d7338870c035910ae123b564a65d7d245730178137311048f0713d5bc524de3654923'
            'daae0331998fc3b135c18330cd8f8405958abce1a913cdbc16accc3c49f2b185a6d44cf4d768eb1eb11d1dd1d81dcc3fe75ec959bd9f4c9c5eb85c450d5ad408'
            '1d06f339c43d57e5f5406c2698b815241fd9e39039a9e55f777face510c9a5ddae5ccd4e051393e8f16f391301a6aa03fff2462837a2d3441d969ea7195e7d84'
            '919008a2bf6cf2492cb1e9c8e28c1e082d74e45da5a96e6669f8971d6cf721e36d23625c89918fe10d8bc1b202c0340aa897849d9ec501a26f3f4572ccb57a98'
            '8bc7e76ba986cadf8d3bf35d6fbd8e7e236a61d1372e023c07e60427bacce925737c996d9fbaaeb51ed1066c1d0c8d83a86d7d640ed991b531744ed06629a670'
            'c585af280c2503a5a969fffd53d192a045a1dedd6d3a32901dfa0e226f9ddb4b5d1b1760553e962b061172c0077fcc57b095d8b7c70cafaa8ca84dbfce2eaa24'
            'eb69785a5b0df0e2a11f53f9c2e2dbf75681d7c698e88cbcc5ceed713a558d528511cc576813cc083cbaa28a2c83d543a39436ad4805670348ef22634305b1c8')
b2sums=('6572c3b90199b4ca1118f35b412e580c824eb688fca92a38ba578a1d9fe9630f137d5c0a9b3ab3428849b479f09e3d5b90cfc1477c59028755e75070591807e3'
        'SKIP'
        '7d40d120c28291f1a7537f3e1b5049fa83c9c0af949371345ea9ccdf3de4a0f3a3a06edbc52d9254dba483e4d11acf562cf679b9e379c5dfc2f61dfbfc2e4cef'
        '4ad061efbc20b4d0e9f8cfd01c5e8e612fa5af29bce754b77f90c1835b98ee445ef4de3d8c83da91461053622620af14d880eb9014b51f2383c75f1860d479f4'
        '772a9571fe7d88dbcbeb46351a188354e237dfe8e020131f2752b3a36cff0ff177423b4cfd6a1a5f28946f86a8581f3e24ee06ebda7260c5f862ca4071908e43'
        '150273823fdadcaecf3e2af036067581cb4cf02507c6da2a533ef3c288a2a715d076f83c6d6d4ff13cd336184f595361318faa2acdc68979edfad7afef0b575b'
        '1a61a89531636b65dade03cd7edca8747b3e1e880f9bbd4d5a53cffa452d70fe17e345cfed739ae92e99e336d4c1f2633c84a5c84a4ee6da518762bf1396b1db'
        'd132044cb7f1d61a1ce87800d2e1142e3ac385acdec25e2f5ad685603a0ffa88e105f4c35688584d65d287adbb40b8d9a02d6a80d7a0b58bb8801a6769405218'
        '937ae5b89d968d784c7b68e1ca81e7aec11e295b95244fc4bcfec55b3d5f37ef70d5f593086eeb14101c8940a241565730cb6edcdf88165094c4ad27a89bd980'
        '9857f3dd219b624869255e0d6c262b60de813b87ac4fd3fccad0a330392f55709e8c2d4b9dfb5ad19df7cc0fc13cc83cead06c9a1d893ee4e4972c4937df0c2b'
        'e6214351ca16bfe97683e838e727d6b5eaa62194878272204034c62aac4a632c9b33cd31aa0570c2eb936d7e9e7ff60190ac05a3a8cc2e27eda423a7d89b6d39')
validpgpkeys=('28806A878AE423A28372792ED75899B9A724937A') # Nextcloud Security <security@nextcloud.com>

prepare() {
  mv -v "${pkgname}" "${pkgname}-${pkgver}"
}

package() {
  cd "${pkgname}-${pkgver}"
  # sysusers.d integration
  install -vDm 644 ../${pkgname}.sysusers \
    "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
  # tmpfiles.d integration
  install -vDm 644 ../${pkgname}.tmpfiles \
    "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
  # state dir for data and writable apps
  install -vdm 755 "${pkgdir}/var/lib/${pkgname}/"
  install -vdm 770 "${pkgdir}/var/lib/${pkgname}/data"
  install -vdm 755 "${pkgdir}/var/lib/${pkgname}/apps"
  # log dir
  install -vdm 755 "${pkgdir}/var/log/${pkgname}/"
  # uwsgi integration
  install -vDm 644 "../${pkgname}.uwsgi" "${pkgdir}/etc/uwsgi/${pkgname}.ini"
  # config dir
  install -vDm 644 .htaccess -t "${pkgdir}/etc/webapps/${pkgname}/"
  install -vDm 640 "../${pkgname}.config.php" "${pkgdir}/etc/webapps/${pkgname}/config/config.php"
  find config -type f -exec install -vDm 644 {} "${pkgdir}/etc/webapps/${pkgname}/"{} \;
  # remove config dir and .htaccess from source so that it is not installed to default location
  rm -rf config .htaccess

  # webapp
  find . -type f -exec install -vDm 644 {} "${pkgdir}/usr/share/webapps/${pkgname}/"{} \;

  # symlink config directory into place
  ln -sv "/etc/webapps/${pkgname}/config" "${pkgdir}/usr/share/webapps/${pkgname}/"
  # symlink .htaccess file into place
  ln -sv "/etc/webapps/${pkgname}/.htaccess" "${pkgdir}/usr/share/webapps/${pkgname}/"
  # add symlink to default writable apps directory
  ln -sv "/var/lib/${pkgname}/apps" "${pkgdir}/usr/share/webapps/${pkgname}/wapps"
  # install occ command
  install -vDm 755 occ -t "${pkgdir}/usr/share/webapps/${pkgname}"
  # occ script
  install -vDm 755 "../${pkgname}.occ.sh" "${pkgdir}/usr/bin/occ"
  # optional pacman hook
  install -vDm 644 "../${pkgname}.hook" -t "${pkgdir}/usr/share/doc/${pkgname}/"
  # apache example conf
  install -vDm 644 ../apache.example.conf -t "${pkgdir}/usr/share/doc/${pkgname}/"
  # systemd timer
  install -D -t $pkgdir/usr/lib/systemd/system -m 644 \
    "${srcdir}"/${pkgname}-cron.service \
    "${srcdir}"/${pkgname}-cron.timer
}