{"id":20454765,"url":"https://github.com/cpiber/hyprland-ppa","last_synced_at":"2025-04-13T03:35:27.245Z","repository":{"id":242109520,"uuid":"808612252","full_name":"cpiber/hyprland-ppa","owner":"cpiber","description":"Source for hyprland PPA. Includes suplemental packages that aren't available on Ubuntu or outdated.","archived":false,"fork":false,"pushed_at":"2025-04-11T19:39:26.000Z","size":1388,"stargazers_count":7,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-11T20:35:40.771Z","etag":null,"topics":["debian","hypr","hyprland","hyprland-arch","ppa","ubuntu"],"latest_commit_sha":null,"homepage":"https://launchpad.net/~cppiber/+archive/ubuntu/hyprland","language":"Makefile","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/cpiber.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,"zenodo":null}},"created_at":"2024-05-31T12:37:21.000Z","updated_at":"2025-04-11T19:39:30.000Z","dependencies_parsed_at":"2024-06-15T20:27:48.362Z","dependency_job_id":"64f90c29-699b-4282-8cbf-cba95eed6e05","html_url":"https://github.com/cpiber/hyprland-ppa","commit_stats":null,"previous_names":["cpiber/hyprland-ppa"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpiber%2Fhyprland-ppa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpiber%2Fhyprland-ppa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpiber%2Fhyprland-ppa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpiber%2Fhyprland-ppa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cpiber","download_url":"https://codeload.github.com/cpiber/hyprland-ppa/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248660012,"owners_count":21141223,"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":["debian","hypr","hyprland","hyprland-arch","ppa","ubuntu"],"created_at":"2024-11-15T11:17:03.114Z","updated_at":"2025-04-13T03:35:27.239Z","avatar_url":"https://github.com/cpiber.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hyprland-ppa\n\nThis repository contains the `debian/` files for my PPA.\nThese files detail the recipe for building a .deb package.\nCurrently these work for Ubuntu 24.04 Noble and 24.10 Oracular.\n\nPublished packages are available here: https://launchpad.net/~cppiber/+archive/ubuntu/hyprland\n\n## Packages\n\nPackages are organized into subfolders.\nEach package contains two folders: `debian/` and `source/`.\nThe source code of the packages is not stored here and instead embedded as a git submodule.\nHence, the debian subdirectory instead does not live in the source code.\nThis repository contains some scripts to deal with this.\n\nTo initialize all packages:\n\n```console\n$ git clone https://github.com/cpiber/hyprland-ppa.git  # Clone this repository\n$ git submodule update --init --recursive  # Fetch all package sources\n```\n\n## Scripts\n\n### Updating a package\n\n```console\n$ ./scripts/update.sh \u003cpackage\u003e\n```\n\nThis script will fetch the latest changes for the specified package.\nAll packages except `hyprland` and `waybar-unstable` will check out the lastest tag.\nThe two mentioned exceptions will check out the lastest commit on main/master.\n\nThe script additionally generates the appropriate changelog from the commit names.\nIf the version did not change, the script exists with code 1 and does not apply any changes.\n\n### Building a package\n\n```console\n$ ./scripts/open-build.sh \u003cpackage\u003e [\u003cdistribution\u003e]\n```\n\nThis script prepares a build area in `/tmp/hyprland-ppa/` and opens a shell there for building.\nIt copies both the `source/` and `debian/` folders together into the expected structure.\nSome packages additionally contain a `prepare.sh` file, which is executed in the resulting build environment.\nThis may be used to exclude files from the final archive.\n\nAs the last step, the script generates the `\u003cpackage\u003e_\u003cversion\u003e.orig.tar.xz` file necessary for building the package.\nThe actual build is left to the user.\n\nThe optional `\u003cdistribution\u003e` argument may be used to build a separate version for a different distribution than specified in the `debian/` folder.\nThis option generates a new entry in the changelog and appends `~1\u003cdistribution\u003e1` to the version field, allowing a rebuild with no changes for this distribution.\nMake sure to use the same orig file, as launchpad refuses to accept one with a different checksum.\n\nInformation about my build setup: https://github.com/cpiber/ppa/blob/main/build.md\n\n### No-change rebuild\n\n```console\n$ ./scripts/rebuild.sh \u003cpackage\u003e\n$ ./scripts/rebuild-depends.sh \u003cpackages...\u003e\n```\n\nThe first script simply increments the patch part of the version number (new changelog entry).\nThis allows a rebuild of the package when no source changes were found, as necessary when a dependency changes (with ABI changes) or a new patch is introduced.\n\nThe second script instead takes a package name (or multiple) and asks `apt-cache` for dependents.\nIt then calls the former script to rebuild all reverse dependencies.\nUse this when a breaking change is introduced and a new build needs to be kicked off for depending packages.\n\nSee [Building a package](#building-a-package) for actually starting the build.\n\n### Working with patches\n\nThe unconventional location of the `debian/` folder means existing tooling will not automatically pick it up.\nWhen working with `quilt`, I recommend the following setting:\n\n```console\n$ export QUILT_PATCHES=../debian/patches\n```\n\nWith this, `quilt` will pick up the patches and patches can be applied as usual, see [the manual](https://www.debian.org/doc/manuals/maint-guide/modify.en.html).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpiber%2Fhyprland-ppa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcpiber%2Fhyprland-ppa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpiber%2Fhyprland-ppa/lists"}