Package Details: jicofo-bin 1.0.549-1

Git Clone URL: https://aur.archlinux.org/jicofo-bin.git (read-only, click to copy)
Package Base: jicofo-bin
Description: JItsi Meet COnference FOcus
Upstream URL: https://jitsi.org/jitsi-meet/
Licenses: Apache
Conflicts: jicofo
Provides: jicofo
Submitter: quartic
Maintainer: quartic
Last Packager: quartic
Votes: 5
Popularity: 1.96
First Submitted: 2020-03-14 16:02
Last Updated: 2020-04-22 20:37

Required by (5)

Sources (6)

Latest Comments

celogeek commented on 2020-05-27 01:01

I understand the point. The checksum part is important.

All these steps can be done easily with a shell script that updates the PKGBUILD based on official stable tags. And then the maintainer can try the update then push it back.

danieltetraquark commented on 2020-05-21 12:07

@celogeek I understand what you want to do. The issue is, it is against how PKGBUILDs are intented to be used.

  1. Downloading stuff in build()

    (I'm citing from PKGBUILDs man page)

    The optional ''build()'' function is use to compile and/or adjust the source files in preparation to be installed by the package() function.

    So ''build'' should never download sources, especially if it is the main source. The checksum can't be checked, because it isn't in the ''PKGBUILD''. This could lead to malicious software beeing installed (because of network spoofing or whatever).

  2. A maintainer for a AUR package should at least check, when updating the ''PKGBUILD'', that everything still compiles.

    The maintainer can just do a makepkg and if anything changes in the PKGBUILD, just commit and push for anyone to get a new version.

    Using your PKGBUILD, everyone always gets the latest version (when installing initially) (because makepkg runs pkgver, and AUR helpers run makepkg).

  3. Autoupdating should only be done by -git packages, as AUR helpers recognize them and handle them properly.

  4. For the AUR maintainer, @quartic, all they have to do is: adjust pkgver and _debver, update the checksums (there is a command for that, updpksums), update the .SRCINFO file (use alias updtsrcinfo='makepkg --printsrcinfo > .SRCINFO' if you want).

To conclude: Don't do autoupdates in packages which arent -git, don't fetch sources in build (since it checksum isnt checked; if the build programm itself does it, this is something else).

EDIT: hopefully fix markdown syntax

celogeek commented on 2020-05-21 11:45

The goal is to be able to do an automatic updates. We can't do that by putting the debian package in the source with a static version.

If anyone takes this package and installs it, it will update automatically to the latest version. It can do that regularly if needed.

The maintainer can just do a makepkg and if anything changes in the PKGBUILD, just commit and push for anyone to get a new version.

The goal is to stay up to date, without any complication of looking for debian install and see what is installs.

debian version is late compared to the latest stable tag on jitsi-meet and his deps.

danieltetraquark commented on 2020-05-20 10:51

@celogeek the issue is, this will break the checksums with future releases. Also, most AUR helpers won't update it, since it doesn't end with -git (correct me if I'm wrong here). Also the deb file should be in the "source", so that makepkg can download it and not in the "build" part.

celogeek commented on 2020-05-20 10:36

I have update the PKGBUILD in order to automatically fetch the latest release version and update the pkgver accordingly.

Here my PKGBUILD:


_pkgname=jicofo
pkgname=${_pkgname}-bin
pkgver=1.0+567
pkgrel=1
pkgdesc="JItsi Meet COnference FOcus"
arch=('any')
url="https://jitsi.org/jitsi-meet/"
license=('Apache')
depends=('java-runtime-headless')
conflicts=(${_pkgname})
provides=(${_pkgname})
makedepends=('tar')
options=('!strip')
backup=('etc/jitsi/jicofo/config'
        'etc/jitsi/jicofo/sip-communicator.properties'
        'etc/jitsi/jicofo/logging.properties')

source=(
        "${_pkgname}.service"
        'sysusers.conf'
        'tmpfiles.conf'
        'config'
        'sip-communicator.properties')
sha256sums=('dcd660f5dd17ba98c5441ec1fdea267777650b063b7bf5b9ee7f0a97f29bc425'
            '0681e97ca1e06d8ea7bdec0a874c6fc7a6ea84628923005130cd444547a1b440'
            '1d19c303780f4640bc0cae6f40d8203b119bb81b74f50d61dbe72c548fa37372'
            'b36f987ce17388260fd6f6bcfb8372bf1aa1458959a996a44d073182414ba298'
            '64e30304bf8188240c1560f215b74b04bdbf06a67b1204d4c000e829f0a3eadf')

pkgver() {
  curl --silent "https://api.github.com/repos/jitsi/$_pkgname/releases/latest" | jq -r .name | tr '-' '+'
}

build() {
  curl -L "https://download.jitsi.org/stable/${_pkgname}_${pkgver//+/-}-${pkgrel}_all.deb" -o jicofo.deb
}

package() {
  cd "${srcdir}"
  ar p "jicofo.deb" data.tar.xz | tar xJv -C "${pkgdir}"

  rm -r "${pkgdir}/etc/init.d"
  rm -r "${pkgdir}/etc/logrotate.d"
  rm -r "${pkgdir}/usr/share/doc"
  chmod 0750 "${pkgdir}/etc/jitsi/jicofo"

  sed -i 's/-Xmx[^ ]*//' "${pkgdir}/usr/share/jicofo/jicofo.sh"

  install -Dm644 "${_pkgname}.service" "${pkgdir}/usr/lib/systemd/system/${_pkgname}.service"
  install -Dm644 'sysusers.conf' "${pkgdir}/usr/lib/sysusers.d/${_pkgname}.conf"
  install -Dm644 'tmpfiles.conf' "${pkgdir}/usr/lib/tmpfiles.d/${_pkgname}.conf"
  install -Dm644 'config' "${pkgdir}/etc/jitsi/jicofo/config"
  install -Dm644 'sip-communicator.properties' "${pkgdir}/etc/jitsi/jicofo/sip-communicator.properties"
}

# vim: set ts=2 sw=2 et:

quartic commented on 2020-04-22 20:39

@danieltetraquark No reason indeed. I have fixed it in the new release.

danieltetraquark commented on 2020-04-21 14:30

I don't see a reason for prefixing /usr/share/jicofo/jicofo.sh with /bin/bash.

the jicofo.sh has a shebang, so everything works if the prefix isn't there. Currently, syslog shows jicofo's entries as bash's entries