- Notifications
You must be signed in to change notification settings - Fork259
[MIRROR] Package management system
License
GPL-2.0, Unknown licenses found
Licenses found
gentoo/portage
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Portage is a package management system based on ports collections. ThePackage Manager Specification Project (PMS) standardises and documentsthe behaviour of Portage so that ebuild repositories can be used byother package managers.
Contributions are always welcome! We've started usingblack to format the code base. Please makesure you run it against any PR's prior to submitting (otherwise we'll probablyreject it).
There areways tointegrateblack into your text editor and/or IDE.
You can also set up a git hook to check your commits, in case you don't wanteditor integration. Something like this:
# .git/hooks/pre-commit (don't forget to chmod +x)#!/bin/bashblack --check --diff.
One can also use pre-commit to run the configured pre-commithooks. Utilizing pre-commit has the advantage of running the linterover only the changed files, resulting in a much faster pre-commithook. To use, install pre-commit and then install the hook to your.git:
emerge dev-vcs/pre-commitpre-commit install
To ignore commit 1bb64ff452 (and other reformatting commits) which is amassive commit that simply formatted the code base using black - you can dothe following:
git config blame.ignoreRevsFile .git-blame-ignore-revs
Python and Bash should be the only hard dependencies. Python 3.9 is theminimum supported version.
Portage includes some optional native extensions which can be builtin the source tree by running the following command:
python setup.py build_ext --inplace --portage-ext-modules
The following setup.cfg settings can be used to enable building ofnative extensions for all invocations of the build_ext command (thebuild_ext command is invoked automatically by other build commands):
[build_ext] portage_ext_modules=true
Currently, the native extensions only include libc bindings which areused to validate LC_CTYPE and LC_COLLATE behavior for EAPI 6. If thenative extensions have not been built, then portage will use ctypesinstead.
Portage is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseversion 2 as published by the Free Software Foundation.
Portage is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.
You should have received a copy of the GNU General Public Licensealong with Portage; if not, write to the Free SoftwareFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA02110-1301, USA.
- DEVELOPING contains some code guidelines.
- LICENSE contains the GNU General Public License version 2.
- NEWS contains new features/major bug fixes for each version.
- RELEASE NOTES contains mainly upgrade information for each version.
- TEST-NOTES contains Portage unit test information.
- Gentoo project page:https://wiki.gentoo.org/wiki/Project:Portage
- PMS:https://dev.gentoo.org/~ulm/pms/head/pms.html
- PMS git repo:https://gitweb.gentoo.org/proj/pms.git/
About
[MIRROR] Package management system