{"id":22135607,"url":"https://github.com/mfinelli/ppa","last_synced_at":"2025-03-24T10:13:36.687Z","repository":{"id":50594464,"uuid":"459768884","full_name":"mfinelli/ppa","owner":"mfinelli","description":"packages for my ppa","archived":false,"fork":false,"pushed_at":"2025-03-05T10:52:26.000Z","size":159,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-05T11:35:43.204Z","etag":null,"topics":["ppa","ubuntu"],"latest_commit_sha":null,"homepage":"https://launchpad.net/~mfinelli/+archive/ubuntu/supermario","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mfinelli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-15T22:20:58.000Z","updated_at":"2025-03-05T10:52:30.000Z","dependencies_parsed_at":"2025-02-18T12:29:14.185Z","dependency_job_id":null,"html_url":"https://github.com/mfinelli/ppa","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfinelli%2Fppa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfinelli%2Fppa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfinelli%2Fppa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mfinelli%2Fppa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mfinelli","download_url":"https://codeload.github.com/mfinelli/ppa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245249222,"owners_count":20584497,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ppa","ubuntu"],"created_at":"2024-12-01T19:15:27.438Z","updated_at":"2025-03-24T10:13:36.664Z","avatar_url":"https://github.com/mfinelli.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ppa\n\nPackages for my\n[PPA](https://launchpad.net/~mfinelli/+archive/ubuntu/supermario).\n\nTODO: add note about editing the PPA settings to enable other architectures\n\n## gpg\n\nWe use a dedicated GPG key for signing since we need to store the private key\nas a GitHub secret in order to enable the desired automation.\n\nUse `gpg --full-gen-key` to generate a 4096 bit RSA key that doesn't expire and\nwhich doesn't have a password. Then export it and encrypt it in this repository\nfor safe keeping in the event that we need it again after exporting it to\nGitHub (from where it cannot be retrieved again).\n\n```shell\ngpg --export-secret-keys 01EF7C8B | gpg -ear 36FDA306 \u003e admin/01EF7C8B.asc\n```\n\nThe key must also be exported to the _Ubuntu_ keyserver:\n\n```shell\ngpg --send-keys --keyserver keyserver.ubuntu.com 01EF7C8B\n```\n\n## backports\n\nTo \"backport\" a package from a newer version of Ubuntu into the current LTS\nyou need to first find the `orig.tar.xz` of the package and add it into the\n`build.bash` script where the backports are currently hardcoded. Then you\nneed to grab the debian archive and extract its contents into the package\ndirectory.\n\nCommit, and then add a new changelog entry in a new commit to have it build\nthe newer package for the older release.\n\nFor example, `ansible`:\n\n```shell\nwget https://mirror.umd.edu/ubuntu/ubuntu/pool/universe/a/ansible/ansible_2.10.7+merged+base+2.10.8+dfsg-1.debian.tar.xz\ncd ansible\ntar xf ../ansible*.tar.xz\n```\n\n## new packages\n\nTo create a new package, download the source tarball and then run:\n\n```shell\nmkdir -p packagename\ncd packagename\ndh_make -f ./path/to/source.tar.gz -p pkgname_pkgver -s -y\ngit commit -m \"Add new package pkgname\"\n```\n\nTo enable the automated builder to download the original source, you will need\nto add a special comment to the `debian/control` file with the URL to the\nsource: `# Source-Archive: https://example.com/package.tar.gz`.\n\nThen proceed to modify as necessary and create the test/publish workflow.\n\n## resources\n\n- Get valid section names: https://packages.debian.org/bullseye/\n- Upload steps: https://help.launchpad.net/Packaging/PPA/Uploading\n- Package naming conventions: https://askubuntu.com/a/4951\n- Package naming conventions: https://help.launchpad.net/Packaging/PPA/BuildingASourcePackage#Versioning\n- Building for multiple architectures: https://askubuntu.com/a/765149\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmfinelli%2Fppa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmfinelli%2Fppa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmfinelli%2Fppa/lists"}