From 46cbf60ea6062f24907f46110dd642a950113e43 Mon Sep 17 00:00:00 2001 From: Alexandre Date: Sat, 12 Oct 2024 14:12:16 +0200 Subject: [PATCH] Updates --- battybirdnet-pi/Dockerfile | 8 +------- .../rootfs/etc/cont-init.d/01-structure.sh | 12 ++++++++---- .../rootfs/etc/cont-init.d/81-modifications.sh | 7 +++++++ birdnet-pi/rootfs/etc/cont-init.d/01-structure.sh | 12 ++++++++++++ 4 files changed, 28 insertions(+), 11 deletions(-) diff --git a/battybirdnet-pi/Dockerfile b/battybirdnet-pi/Dockerfile index cff51f1ed..d8e4c3ade 100644 --- a/battybirdnet-pi/Dockerfile +++ b/battybirdnet-pi/Dockerfile @@ -101,13 +101,7 @@ RUN \ \ # Cleanup apt-get clean all && \ - rm -rf /var/lib/apt/lists/* && \ - \ - # Use only first user - for file in $(grep -rl "'/1000/{print \$'" "$HOME"/*/scripts); do \ - sed -i "s|'/1000/{print \$1}'|'/1000/{print \$1; exit}'|" "$file" && \ - sed -i "s|'/1000/{print \$6}'|'/1000/{print \$6; exit}'|" "$file"; \ - done + rm -rf /var/lib/apt/lists/* ################## # 2 Modify Image # diff --git a/battybirdnet-pi/rootfs/etc/cont-init.d/01-structure.sh b/battybirdnet-pi/rootfs/etc/cont-init.d/01-structure.sh index ae52f8810..81d410038 100755 --- a/battybirdnet-pi/rootfs/etc/cont-init.d/01-structure.sh +++ b/battybirdnet-pi/rootfs/etc/cont-init.d/01-structure.sh @@ -54,11 +54,15 @@ chown -R pi:pi /config /etc/birdnet "$BIRDSONGS_FOLDER" /tmp chmod -R 755 /config /etc/birdnet "$BIRDSONGS_FOLDER" /tmp # Create default birds.db -if [ ! -f "$HOME/BirdNET-Pi/birds.db" ] || [ "$(stat -c%s "$HOME/BirdNET-Pi/birds.db")" -lt 10240 ]; then - rm "$HOME/BirdNET-Pi/birds.db" -fi -if [ ! -f "$HOME/BirdNET-Pi/birds.db" ]; then +if [ ! -f /config/birds.db ]; then + echo "... creating initial db" "$HOME/BirdNET-Pi/scripts/createdb.sh" + cp "$HOME/BirdNET-Pi/scripts/birds.db" /config/ +elif [ "$(stat -c%s /config/birds.db)" -lt 10240 ]; then + echo "... your db is corrupted, creating new one" + rm /config/birds.db + "$HOME/BirdNET-Pi/scripts/createdb.sh" + cp "$HOME/BirdNET-Pi/scripts/birds.db" /config/ fi # Backup default birdnet.conf for sanity check diff --git a/battybirdnet-pi/rootfs/etc/cont-init.d/81-modifications.sh b/battybirdnet-pi/rootfs/etc/cont-init.d/81-modifications.sh index aed6b6ccc..d276af126 100755 --- a/battybirdnet-pi/rootfs/etc/cont-init.d/81-modifications.sh +++ b/battybirdnet-pi/rootfs/etc/cont-init.d/81-modifications.sh @@ -84,3 +84,10 @@ echo "... adapting labels according to birdnet.conf" export "$(grep "^DATABASE_LANG" /config/birdnet.conf)" || bashio::log.warning "DATABASE_LANG not found in configuration. Using default labels." bashio::log.info "Setting language to $DATABASE_LANG" "$HOME/BirdNET-Pi/scripts/install_language_label_nm.sh" -l "$DATABASE_LANG" &>/dev/null || bashio::log.warning "Failed to update language labels" + +# Use only first user +echo "... correcting for multiple users" +for file in $(grep -rl "/1000/{print" "$HOME"/BirdNET-Pi/scripts); do + sed -i "s|'/1000/{print \$1}'|'/1000/{print \$1; exit}'|" "$file" + sed -i "s|'/1000/{print \$6}'|'/1000/{print \$6; exit}'|" "$file" +done diff --git a/birdnet-pi/rootfs/etc/cont-init.d/01-structure.sh b/birdnet-pi/rootfs/etc/cont-init.d/01-structure.sh index 46e86e191..b4b1c3679 100755 --- a/birdnet-pi/rootfs/etc/cont-init.d/01-structure.sh +++ b/birdnet-pi/rootfs/etc/cont-init.d/01-structure.sh @@ -54,6 +54,18 @@ chmod -R 755 /config /etc/birdnet "$BIRDSONGS_FOLDER" /tmp # Backup default birdnet.conf for sanity check cp "$HOME/BirdNET-Pi/birdnet.conf" "$HOME/BirdNET-Pi/birdnet.bak" +# Create default birds.db +if [ ! -f /config/birds.db ]; then + echo "... creating initial db" + "$HOME/BirdNET-Pi/scripts/createdb.sh" + cp "$HOME/BirdNET-Pi/scripts/birds.db" /config/ +elif [ "$(stat -c%s /config/birds.db)" -lt 10240 ]; then + echo "... your db is corrupted, creating new one" + rm /config/birds.db + "$HOME/BirdNET-Pi/scripts/createdb.sh" + cp "$HOME/BirdNET-Pi/scripts/birds.db" /config/ +fi + # Symlink configuration files echo "... creating symlinks for configuration files" CONFIG_FILES=("$HOME/BirdNET-Pi/birdnet.conf" "$HOME/BirdNET-Pi/scripts/whitelist_species_list.txt" "$HOME/BirdNET-Pi/blacklisted_images.txt" "$HOME/BirdNET-Pi/scripts/birds.db" "$HOME/BirdNET-Pi/BirdDB.txt" "$HOME/BirdNET-Pi/scripts/disk_check_exclude.txt" "$HOME/BirdNET-Pi/apprise.txt" "$HOME/BirdNET-Pi/exclude_species_list.txt" "$HOME/BirdNET-Pi/include_species_list.txt" "$HOME/BirdNET-Pi/IdentifiedSoFar.txt" "$HOME/BirdNET-Pi/scripts/confirmed_species_list.txt")