{"id":19364340,"url":"https://github.com/davidfstr/hello-deb-package","last_synced_at":"2026-01-30T01:46:12.138Z","repository":{"id":233388049,"uuid":"692121699","full_name":"davidfstr/hello-deb-package","owner":"davidfstr","description":"Example of how to build a binary .deb Debian package","archived":false,"fork":false,"pushed_at":"2023-09-15T15:54:59.000Z","size":1,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-24T03:36:36.550Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","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/davidfstr.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}},"created_at":"2023-09-15T15:53:25.000Z","updated_at":"2023-09-15T15:57:37.000Z","dependencies_parsed_at":"2024-04-16T02:16:32.851Z","dependency_job_id":"313d5194-f340-4dd5-8d9b-05b4d687fd80","html_url":"https://github.com/davidfstr/hello-deb-package","commit_stats":null,"previous_names":["davidfstr/hello-deb-package"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidfstr%2Fhello-deb-package","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidfstr%2Fhello-deb-package/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidfstr%2Fhello-deb-package/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidfstr%2Fhello-deb-package/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidfstr","download_url":"https://codeload.github.com/davidfstr/hello-deb-package/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240483765,"owners_count":19808636,"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":[],"created_at":"2024-11-10T07:37:10.353Z","updated_at":"2026-01-30T01:46:07.096Z","avatar_url":"https://github.com/davidfstr.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hello .deb Package\n\nThis directory contains instructions for building a .deb package that installs \na `hello` command line tool.\n\n## Prerequisites\n\n* Docker\n* Python 3.x\n\n## How to Build\n\n* Go to this directory in the Terminal and run the following commands:\n\n```\n$ docker build -t hello-build:latest .\n$ mkdir -p build\n$ docker save -o build/hello-build.tar hello-build:latest\n$ cd build\n$ tar xf hello-build.tar\n$ python3 \u003c\u003cEOF\nimport json\nwith open('manifest.json', 'rb') as f:\n    manifest = json.load(f)\nprint(manifest[0]['Layers'][-1])\nEOF\n```\n\n* On that last command you should get output like:\n\n```\n70fe9f79e984de8cc35a2dec436c205f81a028668cd8e848787a6de3698540b4/layer.tar\n```\n\n* Save that output to $LAYER using code like:\n\n```\nexport LAYER=70fe9f79e984de8cc35a2dec436c205f81a028668cd8e848787a6de3698540b4/layer.tar\n```\n\n* Continue executing commands:\n\n```\n$ mkdir layer\n$ tar Cxf layer $LAYER\n$ cd layer\n$ cp -r ../../DEBIAN ./DEBIAN\n$ find . -name .DS_Store | xargs rm  # remove .DS_Store files created by macOS\n# rmdir etc  # remove empty etc directory\n$ docker run -it -v .:/home --name deb-builder debian:latest\n$$ dpkg-deb --root-owner-group --build home\n$$ dpkg -c home.deb | more  # (Optional) verify contents look OK\n$$ apt-get update\n$$ apt-get install lintian -y\n$$ lintian --tag-display-limit 0 home.deb  # (Optional) verify output looks OK\n$$ cp home.deb /home/hello_1.0_all.deb\n$$ exit\n```\n\n* There should now be a .deb package in the current directory in Terminal:\n* To verify that package is installable, run the following commands:\n\n```\n$ docker run -it -v .:/home --name deb-tester debian:latest\n$$ apt-get update\n$$ apt-get install ./home/hello_1.0_all.deb -y\n$$ which hello  # ensure installed\n/usr/bin/hello\n$$ hello  # ensure runs\nHello world!\n$$ exit\n```\n\n* You now have a verified `hello_1.0_all.deb` package! 🎉 \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidfstr%2Fhello-deb-package","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidfstr%2Fhello-deb-package","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidfstr%2Fhello-deb-package/lists"}