diff --git a/01-main/packages/cronopete b/01-main/packages/cronopete index 57cb790db..79579b37d 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 633c1c751..ffa0de1f2 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 181fd0dbc..d1b8341f1 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 1701a3840..c01a234f7 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 d2eff3f68..aa15bbd67 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 fc30536e7..d1d727475 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 0572a24d1..4aed46911 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 8822430ba..55511a7b5 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 92d34b069..79c8380ac 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 cbd05ce92..46d138fcc 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 9f0333e9f..5b55e3578 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}:"