add a tool for creating deb package

This commit is contained in:
Yuhao Zhou
2024-06-24 01:28:57 +08:00
parent c85084c9f1
commit e0761b3b84
4 changed files with 127 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
To build a deb, run `sudo bash build.sh`.

View File

@@ -0,0 +1,55 @@
#!/usr/bin/bash
set -e
set -x
pkgver="0.2"
pkgname="led-ugreen-dkms"
drivername="led-ugreen"
mkdir -p $pkgname/DEBIAN
cat <<EOF > $pkgname/DEBIAN/control
Package: $pkgname
Version: $pkgver
Architecture: amd64
Maintainer: Yuhao Zhou <miskcoo@gmail.com>
Depends: dkms
Homepage: https://github.com/miskcoo/ugreen_dx4600_leds_controller
Description: UGREEN NAS LED driver
A reverse-engineered LED driver of UGREEN NAS.
EOF
cat <<EOF > $pkgname/DEBIAN/postinst
#!/usr/bin/bash
dkms add -m $drivername -v $pkgver
dkms build -m $drivername -v $pkgver && dkms install -m $drivername -v $pkgver || true
EOF
cat <<EOF > $pkgname/DEBIAN/prerm
#!/usr/bin/bash
dkms remove -m $drivername -v $pkgver --all || true
EOF
chmod +x $pkgname/DEBIAN/postinst
chmod +x $pkgname/DEBIAN/prerm
# dkms files
mkdir -p $pkgname/usr/src/$drivername-$pkgver
kmod_files=(kmod/Makefile kmod/dkms.conf kmod/led-ugreen.c kmod/led-ugreen.h kmod/Makefile)
for f in ${kmod_files[@]}; do
cp -rv $f $pkgname/usr/src/$drivername-$pkgver/
done
# change to root
chown -R root:root $pkgname/
dpkg -b $pkgname
rm -rv $pkgname

View File

@@ -0,0 +1,56 @@
#!/usr/bin/bash
set -e
set -x
pkgver="0.2"
pkgname="led-ugreen-utils"
drivername="led-ugreen"
mkdir -p $pkgname/DEBIAN
cat <<EOF > $pkgname/DEBIAN/control
Package: $pkgname
Version: $pkgver
Architecture: amd64
Maintainer: Yuhao Zhou <miskcoo@gmail.com>
Depends: dmidecode, smartmontools
Homepage: https://github.com/miskcoo/ugreen_dx4600_leds_controller
Description: UGREEN NAS LED tools
A reverse-engineered LED tools of UGREEN NAS.
EOF
# scripts
mkdir -p $pkgname/usr/bin/
script_files=(ugreen-probe-leds ugreen-netdevmon ugreen-diskiomon)
for f in ${script_files[@]}; do
cp scripts/$f $pkgname/usr/bin/
chmod +x $pkgname/usr/bin/$f
done
# systemd file
mkdir -p $pkgname/etc/systemd/system
cp scripts/*.service $pkgname/etc/systemd/system/
# cp scripts/ugreen-ledmon@.service $pkgname/etc/systemd/system/
#
# example config file
cp scripts/ugreen-leds.conf $pkgname/etc/ugreen-leds.example.conf
# change to root
chown -R root:root $pkgname/
# cli
cd cli && make -j 4
cd ..
cp cli/ugreen_leds_cli $pkgname/usr/bin
# cp cli/ugreen_daemon $pkgname/usr/bin
chmod +x $pkgname/usr/bin
dpkg -b $pkgname
rm -rv $pkgname

View File

@@ -0,0 +1,14 @@
#!/usr/bin/bash
git clone https://github.com/miskcoo/ugreen_dx4600_leds_controller.git
cp build-dkms-deb.sh ugreen_dx4600_leds_controller
cp build-utils-deb.sh ugreen_dx4600_leds_controller
cd ugreen_dx4600_leds_controller
bash build-dkms-deb.sh
bash build-utils-deb.sh
dpkg-name led-ugreen-dkms.deb
dpkg-name led-ugreen-utils.deb
mv *.deb ../