Skip to content

How to Maintain Manifest Files Efficiently in Scoop Bucket #871

Open
@lingkerio

Description

Hello,

I am currently trying to contribute to the maintenance of manifest files in a Scoop bucket. I have been manually updating the manifest files locally and creating pull requests (PRs) for my changes. Specifically, I have been modifying the checkver section, including the url and regex fields. However, I am unsure if my approach is correct and efficient.

Here are my main questions and concerns:

  1. Manual Updates: I have been manually changing the version field, the URLs, and the hash values in the architecture section of the manifest. This process feels cumbersome and prone to errors. Is this the intended workflow for maintaining manifest files?

  2. Automation with checkver: I understand that the checkver section helps in automatically checking for new versions. Should I be focusing only on updating the checkver section? Will the other fields like version, architecture.url, and architecture.hash be automatically updated by a workflow or automation tool once checkver is correctly configured?

  3. Best Practices: Could you please provide some guidance or best practices for maintaining manifest files in a Scoop bucket? Any tips on how to streamline the process and ensure accuracy would be greatly appreciated.

Here is an example of a manifest file I recently updated:
origin

{
    "homepage": "https://im.qq.com/pcqq/index.shtml",
    "description": "An instant messaging software service developed by Tencent",
    "license": "Freeware",
    "version": "9.9.11.240606",
    "architecture": {
        "64bit": {
            "url": "https://dldir1.qq.com/qqfile/qq/QQNT/Windows/QQ_9.9.11_240606_x64_01.exe#/dl.7z",
            "hash": "281931793c9260c7f220b34e16517f8fb577026186e6c1c94f7eac6489861543"
        },
        "32bit": {
            "url": "https://dldir1.qq.com/qqfile/qq/QQNT/Windows/QQ_9.9.11_240606_x86_01.exe#/dl.7z",
            "hash": "c14106bfff6ef44a006fc5a6bf8927933e67e8f9d30502f4d54d0736c790cfd4"
        }
    },
    "extract_dir": "Files",
    "shortcuts": [
        [
            "QQ.exe",
            "QQ"
        ]
    ],
    "checkver": {
        "url": "https://im.qq.com/pcqq/index.shtml",
        "regex": "QQNT/Windows/QQ_([\\d\\.]+)_([\\d]+)_x64_01\\.exe",
        "replace": "${1}.${2}"
    },
    "autoupdate": {
        "architecture": {
            "64bit": {
                "url": "https://dldir1.qq.com/qqfile/qq/QQNT/Windows/QQ_$match1_$match2_x64_01.exe#/dl.7z"
            },
            "32bit": {
                "url": "https://dldir1.qq.com/qqfile/qq/QQNT/Windows/QQ_$match1_$match2_x86_01.exe#/dl.7z"
            }
        }
    }
}

after

{
    "homepage": "https://im.qq.com/pcqq/index.shtml",
    "description": "An instant messaging software service developed by Tencent",
    "license": "Freeware",
    "version": "9.9.12.240715",
    "architecture": {
        "64bit": {
            "url": "https://dldir1.qq.com/qqfile/qq/QQNT/Windows/QQ_9.9.12_240715_x64_01.exe#/dl.7z",
            "hash": "7564581911375A83487D044E94B60333D5B2118ABF4EC6829AAA4EB953855256"
        },
        "32bit": {
            "url": "https://dldir1.qq.com/qqfile/qq/QQNT/Windows/QQ_9.9.12_240715_x86_01.exe#/dl.7z",
            "hash": "11F16BECBB65E266C25613449052CF01328D36F547D30DAA82C71520234085C7"
        }
    },
    "extract_dir": "Files",
    "shortcuts": [
        [
            "QQ.exe",
            "QQ"
        ]
    ],
    "checkver": {
        "url": "https://im.qq.com/pcqq/index.shtml",
        "regex": "QQNT/Windows/QQ_([\\d\\.]+)_([\\d]+)_x64_01\\.exe",
        "replace": "${1}.${2}"
    },
    "autoupdate": {
        "architecture": {
            "64bit": {
                "url": "https://dldir1.qq.com/qqfile/qq/QQNT/Windows/QQ_$match1_$match2_x64_01.exe#/dl.7z"
            },
            "32bit": {
                "url": "https://dldir1.qq.com/qqfile/qq/QQNT/Windows/QQ_$match1_$match2_x86_01.exe#/dl.7z"
            }
        }
    }
}

I would greatly appreciate any advice or instructions on how to proceed effectively with maintaining the manifest files. Thank you for your assistance!

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions