构建自己的moode-player包

tomosak2个月前HIFI151

1. Introduction

This repository contains scripts to build the packages containing the software components used in moOde audio player.

1.1. Origin and build type

There are several ways in which packages are built and sources obtained.

HowDescriptionOutput
backportDownload source packagedeb+src
cargo-debGit clone source, generate package from rust project with cargo-debdeb
rebuildRebuild from stock package sourcedeb+src
fpmGit clone source, generate package with FPMdeb
gitClone source, contains debian directorydeb+src
git+debsrcClone source, use debian dir from older versiondeb+src
git+dhmakeClone source and create new packagedeb+src
stdebGit clone source, generate package with stdebdeb+src
stockNo need to build, use stock available-

All forms with src as output can be rebuilt from source packages (also present in the repo).

1.2. Overview of the packages that are used

Note: The versions represented in the table are only for example and may not represent the latest versions being used and the table may not contain all the packages in the repo.

PackageVersionHowPatches*
alsa-cdsp1.2.0-1moode1git+dh_makeyes
alsacap1.0.1-1moode1git+dh_make
ashuffle3.12.5-1moode1git+dh_make
bluez5.55-3.1+rpt1stock
bluez-alsa4.0.0-1moode1git+debscr
camilladsp1.0.3-1moode1cargo-deb
camillagui1.0.1-1moode3fpmyes
camillagui-backend1.0.1-1moode1-yes
caps0.9.26-1moode1rebuildyes
libnpupnp25.0.1-1moode1git
librespot0.4.2-1moode1cargo-deb
libupnpp70.22.4-1moode1git
mediainfo20.09-1stock
minidlna1.3.0+dfsg-2stock
moode-player8.2.5-1moode1git+dh_make
mpc0.33.1stock
mpd0.23.12-1moode1backportyes
mpd2cdspvolume0.3.0-1moode1fpmno
nqptp1.1.0~git20220930.c71b49a-1moode1git+dh_make
python3-camilladsp1.0.0-1moode1stdeb
python3-camilladsp-plot1.0.0-1moode1stdeb
python3-libupnpp0.21.0-1moode1git
shairport-sync4.1.1-1moode1git+debsrc
squeezelite1.9+git20210102.78fef68-3moode1rebuildyes
trx0.6-1moode1git+dh_make
udisks1.0.5-1moode1upportyes
udisks-glue1.3.5-1moode3git+debsrc
upmpdcli1.7.7-1moode1git

Patches* means patches required for the source code and excludes patches for the packing itself. Stock pacakges can be directly used, no need to rebuild.

Note: The camillagui-backend is bundled with the camillagui package.

1.3. Other packages in the repo for example drivers.

PackageVersionHowPatches*Descriptions
aloop5.15.84-1moode1fpmyes384kHz patch for in tree module
ax881795.6.4.2-1moode1git
Patched ax88179_178a driver with Allo SIG suppport.
boss2-oled-p31.0.0-1moode1fpm
Allo Boss2 OLED display service
motu-avb1.0-1moode1fpmmotu usb driver for the avb (default not installed)
pcm1794a5.15.84-1moode1fpmyes384kHz patch for in tree module
rpi-source0.1-1moode1gityesFixes to let it work with Python 3. Only needed with development.
rtl88xxau5.6.4.2-1moode1git
Required for SIG Wifi.
runonce0.1.0-1moode1fpm
service for running scripts once during boot

2. (Re)building packages

Requirements:

  • Pi with Raspbian Lite Bullseye (or a moOde image) installed.

  • Have at least a 32GB SD card (or have NFS mount to your NAS)

2.1. Prepare environment

2.1.1. Update the system

Update the system and install the minimal requirement git:

sudo apt update
sudo apt upgrade
sudo apt -y install git
sudo apt reboot

2.1.2. Clone the pkgbuild tree

In this example we use the moodedev directory to store al moode related project dirs.

Setup a build tree:

mkdir -p ~/moodedev/cd ~.moodedev
git clone https://github.com/moode-player/pkgbuild.gitcd pkgbuild/scripts

2.1.3. Setup environment settings

  • Copy the scripts/setenv.sh.example to setenv.sh

cp setenv.sh.example setenv.sh
  • Change the content to reflect your settings:

# The var MOODE_DIR refers to the location of the cloned moode source repo# These commands should be added to ~/.bashrcexport DEBFULLNAME=Johnexport DEBEMAIL=john@noreply.comexport MOODE_DIR=~/home/pi/mooddev.moode

The latest is the location with the moode player main project it self.

Activate the environment by:

cd ... ./scripts/setenv.sh

2.2. Build dependencies

And image below give an overview of most packages. Some packages depends on build and install of others (including dev packages):

package build dep

2.3. Building a package

Go to a package dir in the subdir packages and run the build.sh script

For test try to build alsacap and aloop.

cd packages/alsacap
./build.sh

The output will be in the dist/binary subdirectory.

All dependencies are automatically installed. The first time this will take a while. Especially the kernel packages.

The kernel packages are build for the current active running kernel and expect an offical released kernel for Raspberry Pi OS.

The only exception to the build process is the moOde player it self. It expect that the moode source tree is checkout out in separate directory and the location is set in the setenv.sh script, before it can be packed by the build script from packages/moode-player/build.sh. See the build documentation from moode.

2.4. Deploy package and source

There is a helper script that deploys packages to a Cloudsmith package repository. This requires a Cloudsmith account with access to the moOde repository.

2.4.1. Install Cloudsmith tooling

sudo apt install python3-pip
pip install --upgrade cloudsmith-cli

This will ask your credentials(you need to have permission to upload to the moOde CS repo) to generate an API key.

Logout now and start the ssh session again.

2.4.2. Upload the package

After a package has been built run the deploy command.

cd packages/alsacap
../../scripts/deploy.sh alsacap_1.0.1


相关文章

数播网播Daphile系统开通ssh登录

目前,影响较大的数播/网播系统有roon、volumio、moode、daphile,此外还有一个AudioLinux,似乎是个大杂烩,有个开源的Audiophile Linux(AP&nb...

moOdeAudio树莓派播放器开通ssh客户端登录

1、登录moOde系统,进入设置,找到Security,Web SSH设置为On,保存。2、点击open,打开web shh3、sudo -i 进入root模式4、使用下面命令systemctl en...

Windows、daphile、Audiophile三个系统共存

Windows、daphile、Audiophile三个系统共存最为重要的一个过程就是使用DG分区软件对硬盘进行分区,这里根据硬盘大小和三个系统需求进行分区,我们可以把Windows分区尽量的大,da...

树莓派使用pishrink压缩备份镜像

准备一个存有要被压缩镜像的sd卡,用读卡器插入树莓派中,输入以下命令,对应插入的是哪个接口lsblk下载pishrink,pishrink是一个大佬写的压缩镜像的脚本wget  ...

X86系列ubuntu sever版本安装RoonServer、NAA、LMS、squeezelite

1、X86系列ubuntu sever版本安装RoonServer解决方法,安装相应包#Checking for ALSA Libraries sudo ...

老陈谈QA390

当别的优秀播放器都卖到3万、4万的价格时,QA390定了一个可能是市面上性价比最高的价格8699,或许还能把“可能”去掉。8699元,还不到某些品牌一条旗舰耳塞的价格,但它且可以把这些耳塞推出一片新天...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。