{"id":13648341,"url":"https://github.com/gentoo/portage","last_synced_at":"2025-05-14T01:06:06.878Z","repository":{"id":13156289,"uuid":"15839027","full_name":"gentoo/portage","owner":"gentoo","description":"[MIRROR] Package management system","archived":false,"fork":false,"pushed_at":"2025-05-13T15:30:12.000Z","size":41838,"stargazers_count":573,"open_issues_count":73,"forks_count":263,"subscribers_count":71,"default_branch":"master","last_synced_at":"2025-05-13T16:38:08.765Z","etag":null,"topics":["gentoo","hacktoberfest","package","package-manager","portage","python"],"latest_commit_sha":null,"homepage":"https://gitweb.gentoo.org/proj/portage.git","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gentoo.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS","contributing":null,"funding":null,"license":"COPYING","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":"2014-01-12T08:30:47.000Z","updated_at":"2025-05-13T15:30:15.000Z","dependencies_parsed_at":"2023-12-20T15:29:27.580Z","dependency_job_id":"9c216234-0dfe-483b-8cf0-93754e7f4f98","html_url":"https://github.com/gentoo/portage","commit_stats":null,"previous_names":[],"tags_count":855,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gentoo%2Fportage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gentoo%2Fportage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gentoo%2Fportage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gentoo%2Fportage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gentoo","download_url":"https://codeload.github.com/gentoo/portage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254000371,"owners_count":21997433,"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":["gentoo","hacktoberfest","package","package-manager","portage","python"],"created_at":"2024-08-02T01:04:09.614Z","updated_at":"2025-05-14T01:06:06.844Z","avatar_url":"https://github.com/gentoo.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"[![CI](https://github.com/gentoo/portage/actions/workflows/ci.yml/badge.svg)](https://github.com/gentoo/portage/actions/workflows/ci.yml)\n\nAbout Portage\n=============\n\nPortage is a package management system based on ports collections. The\nPackage Manager Specification Project (PMS) standardises and documents\nthe behaviour of Portage so that ebuild repositories can be used by\nother package managers.\n\nContributing\n============\n\nContributions are always welcome! We've started using\n[black](https://pypi.org/project/black/) to format the code base. Please make\nsure you run it against any PR's prior to submitting (otherwise we'll probably\nreject it).\n\nThere are [ways to\nintegrate](https://black.readthedocs.io/en/stable/integrations/editors.html)\nblack into your text editor and/or IDE.\n\nYou can also set up a git hook to check your commits, in case you don't want\neditor integration. Something like this:\n\n```sh\n# .git/hooks/pre-commit (don't forget to chmod +x)\n\n#!/bin/bash\nblack --check --diff .\n```\n\nOne can also use pre-commit to run the configured pre-commit\nhooks. Utilizing pre-commit has the advantage of running the linter\nover only the changed files, resulting in a much faster pre-commit\nhook. To use, install pre-commit and then install the hook to your\n.git:\n\n```sh\nemerge dev-vcs/pre-commit\npre-commit install\n```\n\nTo ignore commit 1bb64ff452 (and other reformatting commits) which is a\nmassive commit that simply formatted the code base using black - you can do\nthe following:\n\n```sh\ngit config blame.ignoreRevsFile .git-blame-ignore-revs\n```\n\nDependencies\n============\n\nPython and Bash should be the only hard dependencies. Python 3.9 is the\nminimum supported version.\n\nNative Extensions\n=================\n\nPortage includes some optional native extensions which can be built\nin the source tree by running the following command:\n\n    python setup.py build_ext --inplace --portage-ext-modules\n\nThe following setup.cfg settings can be used to enable building of\nnative extensions for all invocations of the build_ext command (the\nbuild_ext command is invoked automatically by other build commands):\n\n```\n   [build_ext]\n   portage_ext_modules=true\n```\n\nCurrently, the native extensions only include libc bindings which are\nused to validate LC_CTYPE and LC_COLLATE behavior for EAPI 6. If the\nnative extensions have not been built, then portage will use ctypes\ninstead.\n\nLicensing and Legalese\n=======================\n\nPortage is free software; you can redistribute it and/or\nmodify it under the terms of the GNU General Public License\nversion 2 as published by the Free Software Foundation.\n\nPortage is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with Portage; if not, write to the Free Software\nFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n02110-1301, USA.\n\n\nMore information\n================\n\n- DEVELOPING contains some code guidelines.\n- LICENSE contains the GNU General Public License version 2.\n- NEWS contains new features/major bug fixes for each version.\n- RELEASE NOTES contains mainly upgrade information for each version.\n- TEST-NOTES contains Portage unit test information.\n\n\nLinks\n=====\n\n- Gentoo project page: https://wiki.gentoo.org/wiki/Project:Portage\n- PMS: https://dev.gentoo.org/~ulm/pms/head/pms.html\n- PMS git repo: https://gitweb.gentoo.org/proj/pms.git/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgentoo%2Fportage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgentoo%2Fportage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgentoo%2Fportage/lists"}