diff --git a/01-main/packages/cronopete b/01-main/packages/cronopete index 57cb790d..79579b37 100644 --- a/01-main/packages/cronopete +++ b/01-main/packages/cronopete @@ -1,9 +1,10 @@ DEFVER=1 CODENAMES_SUPPORTED="sid bullseye jammy focal" -WEBSITE="https://www.rastersoft.com/programas/cronopete.html" +get_website "https://www.rastersoft.com/programas/cronopete.html" if [ "${ACTION}" != "prettylist" ]; then - VERSION_PUBLISHED="$(curl -s $WEBSITE | grep "Current version" | head -n1 | cut -d ' ' -f3)" + VERSION_PUBLISHED="$(grep "Current version" "${CACHE_FILE}" | head -n1 | cut -d ' ' -f3)" fi URL="https://www.rastersoft.com/descargas/cronopete/cronopete-${UPSTREAM_CODENAME}_${VERSION_PUBLISHED}-${UPSTREAM_ID}1_amd64.deb" PRETTY_NAME="Cronopete" +WEBSITE="https://www.rastersoft.com/programas/cronopete.html" SUMMARY="A backup utility for Linux, modeled after Apple's Time Machine." diff --git a/01-main/packages/deskcut b/01-main/packages/deskcut index 633c1c75..ffa0de1f 100644 --- a/01-main/packages/deskcut +++ b/01-main/packages/deskcut @@ -1,7 +1,7 @@ DEFVER=1 -get_github_releases "https://api.github.com/repos/NayamAmarshe/DeskCut/releases/latest" +get_github_releases "NayamAmarshe/DeskCut" "latest" if [ "${ACTION}" != "prettylist" ]; then - URL=$(grep "browser_download_url.*amd64\.deb\"" "${CACHE_DIR}/${APP}.json" | head -n1 | cut -d'"' -f4) + URL=$(grep "browser_download_url.*amd64\.deb\"" "${CACHE_FILE}" | head -n1 | cut -d'"' -f4) VERSION_PUBLISHED="$(echo "${URL}" | cut -d'/' -f8 | sed 's|^stable-||')" fi PRETTY_NAME="DeskCut" diff --git a/01-main/packages/frostwire b/01-main/packages/frostwire index 181fd0db..d1b8341f 100644 --- a/01-main/packages/frostwire +++ b/01-main/packages/frostwire @@ -1,7 +1,7 @@ DEFVER=1 -get_github_releases "https://api.github.com/repos/frostwire/frostwire/releases/latest" +get_github_releases "frostwire/frostwire" "latest" if [ "${ACTION}" != "prettylist" ]; then - URL=$(grep "browser_download_url.*amd64\.deb\"" "${CACHE_DIR}/${APP}.json" | head -n1 | cut -d'"' -f4) + URL=$(grep "browser_download_url.*amd64\.deb\"" "${CACHE_FILE}" | head -n1 | cut -d'"' -f4) VERSION_PUBLISHED="$(echo "${URL}" | cut -d'-' -f3)" fi PRETTY_NAME="FrostWire" diff --git a/01-main/packages/homeassistant-supervised b/01-main/packages/homeassistant-supervised index 1701a384..c01a234f 100644 --- a/01-main/packages/homeassistant-supervised +++ b/01-main/packages/homeassistant-supervised @@ -1,9 +1,9 @@ DEFVER=1 -get_github_releases "https://api.github.com/repos/home-assistant/supervised-installer/releases/latest" +get_github_releases "home-assistant/supervised-installer" "latest" if [ "${ACTION}" != "prettylist" ]; then - URL=$(grep "browser_download_url.*\.deb\"" "${CACHE_DIR}/${APP}.json" | cut -d'"' -f4) + URL=$(grep "browser_download_url.*\.deb\"" "${CACHE_FILE}" | cut -d'"' -f4) VERSION_PUBLISHED="$(echo "${URL}" | cut -d'/' -f8 | tr -d v)" fi PRETTY_NAME="Home Assistant Supervised" WEBSITE="https://github.com/home-assistant/supervised-installer" -SUMMARY="This is Home Assistant supervised installer, that provides the full Home Assistant experience on a regular operating system." \ No newline at end of file +SUMMARY="This is Home Assistant supervised installer, that provides the full Home Assistant experience on a regular operating system." diff --git a/01-main/packages/iriunwebcam b/01-main/packages/iriunwebcam index d2eff3f6..aa15bbd6 100644 --- a/01-main/packages/iriunwebcam +++ b/01-main/packages/iriunwebcam @@ -1,6 +1,7 @@ DEFVER=1 +get_website "https://iriun.com/" if [ "${ACTION}" != "prettylist" ]; then - URL="$(curl -s "https://iriun.com/" | grep .deb | head -n1 | cut -d '"' -f 4)" + URL="$(grep .deb "${CACHE_FILE}" | head -n1 | cut -d '"' -f 4)" VERSION_PUBLISHED="$(basename ${URL} .deb | cut -d '-' -f 2)" fi PRETTY_NAME="Iriun Webcam" diff --git a/01-main/packages/master-pdf-editor-5 b/01-main/packages/master-pdf-editor-5 index fc30536e..d1d72747 100644 --- a/01-main/packages/master-pdf-editor-5 +++ b/01-main/packages/master-pdf-editor-5 @@ -1,7 +1,8 @@ DEFVER=1 CODENAMES_SUPPORTED="bionic bullseye buster focal jammy" +get_website "https://code-industry.net/get-master-pdf-editor-for-ubuntu/?download" if [ "${ACTION}" != "prettylist" ]; then - URL=$(curl -s -S "https://code-industry.net/get-master-pdf-editor-for-ubuntu/?download" | grep -Eo "https://code-industry.net/public/.*\.deb" | uniq) + URL=$(grep -Eo "https://code-industry.net/public/.*\.deb" "${CACHE_FILE}" | uniq) VERSION_PUBLISHED="$(echo "${URL}" | sed 's/^.*editor-//;s/-qt5.x86_64.*$//')" fi PRETTY_NAME="Master PDF Editor" diff --git a/01-main/packages/mediathekview b/01-main/packages/mediathekview index 0572a24d..4aed4691 100644 --- a/01-main/packages/mediathekview +++ b/01-main/packages/mediathekview @@ -1,7 +1,8 @@ DEFVER=1 ARCHS_SUPPORTED="amd64 armhf" +get_website "https://mediathekview.de/changelog/" if [ "${ACTION}" != "prettylist" ]; then - VERSION_PUBLISHED="$(curl -s https://mediathekview.de/changelog/ | grep \>Version | head -n1 | cut -d ' ' -f5 | cut -d '<' -f1)" + VERSION_PUBLISHED="$(grep \>Version "${CACHE_FILE}" | head -n1 | cut -d ' ' -f5 | cut -d '<' -f1)" fi case ${HOST_ARCH} in amd64) URL="https://download.mediathekview.de/stabil/MediathekView-latest-linux.deb";; diff --git a/01-main/packages/os-agent b/01-main/packages/os-agent index 8822430b..55511a7b 100644 --- a/01-main/packages/os-agent +++ b/01-main/packages/os-agent @@ -1,9 +1,9 @@ DEFVER=1 -get_github_releases "https://api.github.com/repos/home-assistant/os-agent/releases/latest" +get_github_releases "home-assistant/os-agent" "latest" if [ "${ACTION}" != "prettylist" ]; then - URL="$(grep "browser_download_url.*x86_64\.deb\"" "${CACHE_DIR}/${APP}.json" | head -n1 | cut -d'"' -f4)" + URL="$(grep "browser_download_url.*x86_64\.deb\"" "${CACHE_FILE}" | head -n1 | cut -d'"' -f4)" VERSION_PUBLISHED="$(echo ${URL} | cut -d'_' -f2)" fi PRETTY_NAME="Agent for Home Assistant OS" WEBSITE="https://github.com/home-assistant/os-agent" -SUMMARY="This is the OS Agent for Home Assistant. It is used for Home Assistant OS and Home Assistant Supervised installation types and it allows the Home Assistant Supervisor to communicate with the host operating system." \ No newline at end of file +SUMMARY="This is the OS Agent for Home Assistant. It is used for Home Assistant OS and Home Assistant Supervised installation types and it allows the Home Assistant Supervisor to communicate with the host operating system." diff --git a/01-main/packages/sunshine b/01-main/packages/sunshine index 92d34b06..79c8380a 100644 --- a/01-main/packages/sunshine +++ b/01-main/packages/sunshine @@ -1,7 +1,7 @@ DEFVER=1 -get_github_releases "https://api.github.com/repos/LizardByte/Sunshine/releases/latest" +get_github_releases "LizardByte/Sunshine" "latest" if [ "${ACTION}" != "prettylist" ]; then - URL=$(grep "browser_download_url.*\.deb\"" "${CACHE_DIR}/${APP}.json" | head -n1 | cut -d'"' -f4) + URL=$(grep "browser_download_url.*\.deb\"" "${CACHE_FILE}" | head -n1 | cut -d'"' -f4) VERSION_PUBLISHED="$(echo "${URL}" | cut -d'/' -f8 | sed 's|^v||')" fi PRETTY_NAME="Sunshine" diff --git a/EXTREPO.md b/EXTREPO.md index cbd05ce9..46d138fc 100644 --- a/EXTREPO.md +++ b/EXTREPO.md @@ -66,7 +66,7 @@ The environment variables available to the package definition file are the follo * `UPSTREAM_RELEASE`: The release version of the upstream distribution. * `ACTION`: The command being executed by `deb-get`. Supported values are `update`, `upgrade`, `show`, `install`, `reinstall`, `remove`, `purge`, `prettylist` and `fix-installed`. `ACTION` for `csvlist` is `prettylist`. * `APP`: The name of the package. -* `CACHE_FILE`: The path to the cached file for `github` packages. +* `CACHE_FILE`: The path to the cached file for `website` and `github` packages. The helper functions available to the package definition file are the following: @@ -162,7 +162,7 @@ SUMMARY="" ```bash DEFVER=1 ARCHS_SUPPORTED="amd64 arm64 armhf" -CODENAMES_SUPPORTED="buster bullseye bookworm sid focal jammy kinetic" +CODENAMES_SUPPORTED="buster bullseye bookworm sid focal jammy kinetic lunar" if [ "${ACTION}" != prettylist ]; then URL="$(unroll_url "")" VERSION_PUBLISHED="$(echo "${URL}" | cut -d -f )" diff --git a/deb-get b/deb-get index 9f0333e9..5b55e357 100755 --- a/deb-get +++ b/deb-get @@ -454,7 +454,7 @@ function validate_deb() { elif [ -n "${PPA}" ]; then METHOD="ppa" else - if { { [ "${METHOD}" = github ] && [ -e "${CACHE_FILE}" ]; } || { [ "${METHOD}" == website ] && [ -e "${CACHE_FILE}" ]; } || [ "${METHOD}" == direct ]; } && + if { { { [ "${METHOD}" == github ] || [ "${METHOD}" == website ]; } && [ -e "${CACHE_FILE}" ]; } || [ "${METHOD}" == direct ]; } && { [ "${ACTION}" != "prettylist" ] && [ "${ACTION}" != "remove" ] && [ "${ACTION}" != "purge" ]; } && { [ -z "${URL}" ] || [ -z "${VERSION_PUBLISHED}" ]; }; then fancy_message error "Missing required information of ${METHOD} package ${APP}:"