Paket bauen - Abhängigkeiten für Debian 11 bekannt

Moin

Mal eine Frage in die Runde. Ich nutze eine Applikation für ein Radiostudio. Gibt es auch in einer uralten Version im AUR. Nennt sich Rivendell. Ich würde gerne das ganze mit dem neuesten Release V4 (grad RC) bauen. Aktuell baue ich das immer manuell unter Debian11. Die Abhängigkeiten sind natürlich Debianpakete, die recht umfangreich zu installieren sind. Schick wäre ein Paket im AUR später.

Macht das alles Sinn, da ein Paket von bauen zu wollen, oder lieber nur von Hand übersetzen…??


Gruß Rüdiger

Naja, dann passe doch das PKGBUILD zu rivendell an (sprich für Dich lokal), sieh Dir auch patch-makefile.patch an (falls man das noch braucht)!

Ob das so einfach für 4rc2 durchläuft, wirst Du sehen (immerhin wird z.B. von Qt4 auf Qt5 gewechselt…endlich).

Wenn’s funktioniert, kannst Du’s ja unter geändertem Namen ins AUR legen.

1 Like

habe das mal ausgecheckt… bei Arch scheint das ein wenig problematisch zu sein…
Braucht ein paar andere Pakete die aus dem AUR gebaut werden müssen…

Wenn du einen Hinweis auf die Abhängigkeiten hast… könnte ich es nocheinmal versuchen.

Hallo Doc…

Die Abhängigkeiten von Debian 11.??

Hab das in einem Textfile zusammen getragen…

RD4 Installer:

Repo:

deb http://deb.debian.org/debian/ bullseye main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free
deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free

deb http://www.deb-multimedia.org bullseye main
# Add the following line to /etc/apt/sources.list:
deb http://www.deb-multimedia.org bullseye main
Update the package index:
# sudo apt-get update -oAcquire::AllowInsecureRepositories=true
Install GPG key of the repository:
# sudo apt-get install deb-multimedia-keyring
Install deb-multimedia-keyring deb package:


########################################################

sudo apt install mp4v2-utils libmp4v2-2 libmp4v2-dev wmctrl libfaad-dev qjackctl git build-essential mc autoconf automake libtool g++ qtbase5-dev libqt5sql5-mysql qttools5-dev-tools libexpat1 libexpat1-dev libssl-dev libsamplerate-dev libsndfile-dev libcdparanoia-dev libcoverart-dev libdiscid-dev libmusicbrainz5-dev libid3-dev libtag1-dev libcurl4-gnutls-dev libpam0g-dev libsoundtouch-dev docbook5-xml libxml2-utils docbook-xsl-ns xsltproc fop make libsystemd-dev libjack-jackd2-dev libasound2-dev libflac-dev libflac++-dev libmp3lame-dev libmad0-dev libtwolame-dev python3 python3-pycurl python3-pymysql python3-serial python3-requests apache2 mariadb-server adminer python3-mysqldb libmagick++-dev 

git clone -b qt5 https://github.com/ElvishArtisan/rivendell.git

./autogen.sh 
./configure --prefix=/usr --libdir=/usr/lib --libexecdir=/var/www/rd-bin --sysconfdir=/etc/apache2/conf-enabled --enable-rdxport-debug MUSICBRAINZ_LIBS="-ldiscid -lmusicbrainz5cc -lcoverartcc" --disable-docbook
DOCBOOK_STYLESHEETS=/usr/share/xml/docbook/stylesheet/docbook-xsl-ns
export PATH=/sbin:$PATH
make
sudo make install
sudo ldconfig


sudo ln -sf /etc/apache2/mods-available/cgid.conf /etc/apache2/mods-enabled/cgid.conf
sudo ln -sf /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/cgid.load
sudo nano /etc/apache2/conf-available/adminer.conf
sudo a2enconf adminer.conf
sudo systemctl restart apache2

#get template from sourcetree. Change rduser to rd
sudo cp conf/rd.conf-sample /etc/rd.conf
sudo nano /etc/rd.conf 

# jackd as dummy
sudo nano /etc/environment
JACK_PROMISCUOUS_SERVER=1000


#Server only
sudo mysql_secure_installation 
# adminer... Db Rivendell
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf < #bind-address

sudo mkdir /var/snd
sudo chown rd:rd /var/snd
sudo rddbmgr --create --generate-audio


Ja da das AUR PKGBUILD ja nun wirklich out of date ist habe irgendwo gesehen das rivendell auf qt4 umgestiegen ist aber das ist ja auch nicht aktuell bei arch müsste manuell gebaut werden…

QT4 ? Das ist doch jetzt 5…

1 Like

dann lass mich sehen ob ich Rivendell gebaut bekomme mit qt5 :wink:

In dieses packagebuild file kommt dann quasi das rein, was in meinem Textfile drin steht.?

Bin was das angeht noch nicht so zuhause mit Arch…

wau ist ein komplexes stück Software dieses Rivendell :wink:


scheint erstmal zu bauen…
PKGBUILD ist ja auch nur eine Bauanleitungsdatei… enthält alles was benötigt wird um makepkg zu benutzen… Abhängigkeiten Quellen Versionen und alles Mögliche was sonst im Ablauf benötigt wird patchen u.s.w. nach dem Kompilieren wird dann zu einem Paket gepackt das mit dem Arch Ökosystem korrespondiert ist ja nicht exakt genauso wie bei Debian…

Bei Debian wird ja mit make install alles an Ort und Stelle kopiert. Das muss dann ja alles nachgebaut werden.?

So könnte es ungefähr aussehen…

PKGBUILD
# Maintainer: Du Selbst <Du[at]selbst.de>

pkgname=rivendell
pkgver=4.0.0rc0
pkgrel=1

pkgdesc="Open Source Radio Automation"

arch=(x86_64)
url="http://www.rivendellaudio.org/"
license=('GPL2')

depends=(
  'curl'
  'libxi'
  'cdrtools'
  'id3lib'
  'cdparanoia'
  'libsndfile'
  'mariadb'
  'qt5-base'
  'libsamplerate'
  'soundtouch'
  'pipewire-jack'
  'alsa-lib'
  'flac'
  'faad2'
  'libmp4v2'
  'lame'
  'libmad'
  'libtool'
  'libcoverart'
  'twolame'
  'taglib'
  'libvorbis'
  'python-musicbrainzngs'
  'python-discid'
  'picard'
  'libmusicbrainz5'
  'libdiscid'
)

makedepends=(
  'patch'
)

backup=('etc/rd.conf')

source=(
  "https://software.paravelsystems.com/source/rivendell/rivendell-$pkgver.tar.gz"
  )
sha256sums=('7ac31c424a429c52c86d76f83ad42242d6df2083ed42c6193698b91257e618a7')

prepare() {
  cd "$pkgname-$pkgver"
}

build() {
  cd "$pkgname-$pkgver"
  export RD_LIB_PATH="lib"
sh autogen.sh 
./configure \
    --prefix=/usr \
    --libexecdir=/usr/lib/rivendell/web \
    --libdir=/usr/lib \
    --sbindir=/usr/bin \
    --sysconfdir=/etc \
    --libexecdir=/var/www/rd-bin \
    --sysconfdir=/etc/apache2/conf-enabled \
    --enable-rdxport-debug MUSICBRAINZ_LIBS="-ldiscid -lmusicbrainz5cc -lcoverartcc" \
    --disable-docbook DOCBOOK_STYLESHEETS=/usr/share/xml/docbook/stylesheet/docbook-xsl-ns
  make
}

package() {
  cd "$pkgname-$pkgver"

  touch building-debian


  export RD_LIB_PATH="lib"
  export DESTDIR="$pkgdir"
  make install

  mkdir -p "$pkgdir"/etc/rivendell.d
  install -t "$pkgdir"/etc/rivendell.d -Dm755 conf/rlm_*.conf
  install -Dm755 conf/rd.conf-sample "$pkgdir"/etc/rd.conf
  install -Dm755 conf/rd-bin.conf "$pkgdir"/etc/httpd/conf/extra/rd-bin.conf
}

makepkg macht das Kompilieren sozusagen in einer chroot Umgebung und kopiert dann alles so das es in ein archsystem passt als archiv zum Paket…

--enable-rdxport-debug MUSICBRAINZ_LIBS="-ldiscid -lmusicbrainz5cc -lcoverartcc" \
funktioniert nicht …

Hmm, weiss nicht. Das ist ja noch das QT 5 Branch. RC… Aber das sollte ja keinen grossen Unterschied machen.

ja kann schon … ich habe keine Ahnung von den Quellen habe jetzt einfach nur in ner VM testweise makepkg gestartet und das PKGBUILD angepasst… die Version war die letzte aus dem Quell verzeichnis…

was du bei debian gemacht hast is den qt5 branch gecloned…

git clone -b qt5

ich habe tarball genommen… könnte das Problem sein…

Ist der tarball nicht noch die 3.x Linie?

4.0.0rc0

der qt5 branch scheint komplett anders zu sein… meckert jetzt aber das er imagemagick 6 haben will :wink: … arch ist bei 7…

Rivendell mag es gern stable… :wink: ist das dann nicht kompatibel.?

scheint explizit auf imagemagick 6 zu verlinken… kann also sein das man die quellen patchen muss…
configure: error: *** ImageMagick 6 Magick++ binding not found ***

nicht gut :wink:

Tja, war ja ne Idee. Wenn das nicht geht, oder e der Aufwand zu groß, dann istndas Pech…