• Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    bug: cacert-update.service

    Mervis
    1
    1
    15
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      ladmanj last edited by

      Na našich dvou neuronech jsem opravil tuto chybu. Asi se o ní už ví, ale pro jistotu posílám sem.

      #!/bin/bash
      #
      # get installed version of ca-certificate package
      # write the version into virtual registers 4200-4201
      #
      # if used with --update, try update/upgrade package
      
      CA_REG1=4300
      CA_REG2=4301
      VREG_DIR=/run/unipi-plc/virtual-regs
      
      if [[ "$TRIGGER_UNIT" =~ ".timer" ]]; then
          apt-get update -y -qq || true
          apt-get install -y -q ca-certificates
      fi
      
      CA_VERSION=$(dpkg-query --show --showformat '${Version}' ca-certificates 2>/dev/null)
      
      # OPRAVA: Odřízne vše od prvního znaku, který není číslice (např. ~deb12u2)
      CA_VERSION="${CA_VERSION%%[^0-9]*}"
      
      if [ -z "$CA_VERSION" ]; then
          rm -f "$VREG_DIR/$CA_REG1"
          rm -f "$VREG_DIR/$CA_REG2" # Zde byla dříve chyba s redundantním /virtual-regs/
      else
          mkdir -p "$VREG_DIR"
          if cd "$VREG_DIR"; then
              echo "$((CA_VERSION/10000))" > "$VREG_DIR/$CA_REG1"
              echo "$((CA_VERSION%10000))" > "$VREG_DIR/$CA_REG2"
          fi
      fi
      
      1 Reply Last reply Reply Quote 0
      • First post
        Last post