• Stars
    star
    529
  • Rank 83,186 (Top 2 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 10 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

[MIRROR] Package management system

CI

About Portage

Portage is a package management system based on ports collections. The Package Manager Specification Project (PMS) standardises and documents the behaviour of Portage so that ebuild repositories can be used by other package managers.

Contributing

Contributions are always welcome! We've started using black to format the code base. Please make sure you run it against any PR's prior to submitting (otherwise we'll probably reject it).

There are ways to integrate black into your text editor and/or IDE.

You can also set up a git hook to check your commits, in case you don't want editor integration. Something like this:

# .git/hooks/pre-commit (don't forget to chmod +x)

#!/bin/bash
black --check --diff .

One can also use pre-commit to run the configured pre-commit hooks. Utilizing pre-commit has the advantage of running the linter over only the changed files, resulting in a much faster pre-commit hook. To use, install pre-commit and then install the hook to your .git:

emerge dev-vcs/pre-commit
pre-commit install

To ignore commit 1bb64ff452 (and other reformatting commits) which is a massive commit that simply formatted the code base using black - you can do the following:

git config blame.ignoreRevsFile .git-blame-ignore-revs

Dependencies

Python and Bash should be the only hard dependencies. Python 3.7 is the minimum supported version.

Native Extensions

Portage includes some optional native extensions which can be built in 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 of native extensions for all invocations of the build_ext command (the build_ext command is invoked automatically by other build commands):

   [build_ext]
   portage_ext_modules=true

Currently, the native extensions only include libc bindings which are used to validate LC_CTYPE and LC_COLLATE behavior for EAPI 6. If the native extensions have not been built, then portage will use ctypes instead.

Licensing and Legalese

Portage is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 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 of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Portage; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

More information

  • 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.

Links

More Repositories

1

gentoo

[MIRROR] Official Gentoo ebuild repository
Shell
2,050
star
2

gentoo-docker-images

[MIRROR] Common effort to get an official and automated gentoo base docker container
Dockerfile
317
star
3

guru

[MIRROR] GURU: repository of new packages maintained collaboratively by users
Shell
179
star
4

sci

[MIRROR] Gentoo Science Overlay
Shell
151
star
5

musl

[MIRROR] musl development overlay
Shell
99
star
6

kde

[MIRROR] KDE team's testing overlay
Shell
97
star
7

pax-utils

[MIRROR] ELF related utils for ELF 32/64 binaries that can check files for security relevant properties
C
88
star
8

gentoo-rust

[MIRROR] Rust packages
Shell
81
star
9

dotnet

[MIRROR] Newer mono, .NET languages, and libraries
Shell
79
star
10

libressl

[MIRROR] LibreSSL ebuilds testing repository
Shell
72
star
11

gentoo-portage-rsync-mirror

[ORIGIN] DEPRECATED mirror of Gentoo git repository, use https://github.com/gentoo/gentoo for development & pull requests, https://github.com/gentoo-mirror/gentoo for syncing
61
star
12

qt

[MIRROR] Qt Team's testing overlay
Shell
55
star
13

devmanual

[MIRROR] Gentoo devmanual source
XSLT
51
star
14

api-gentoo-org

[MIRROR] Seed data for api.gentoo.org
Python
46
star
15

hwids

[MIRROR] Split packaging of pci.ids, usb.ids and what other database could be required
Python
37
star
16

gentoo-zsh-completions

[ORIGIN] Gentoo specific zsh completion support (ebuild, emerge, eselect, ...)
Shell
36
star
17

portage-utils

[MIRROR] Small and fast Portage helper tools written in C
Makefile
34
star
18

cargo-ebuild

[MIRROR] cargo extension that can generate ebuilds using the in-tree eclasses
Rust
33
star
19

dlang

[MIRROR] D programming language ebuild repository
Shell
30
star
20

layman

[MIRROR] layman: Gentoo overlay manager
Python
27
star
21

gentoo-syntax

[MIRROR] Gentoo Ebuild, Eclass, GLEP, ChangeLog and Portage Files syntax highlighting, filetype and indent settings for Vim
Vim Script
27
star
22

netifrc

[MIRROR] netifrc network configuration tools from OpenRC
Shell
26
star
23

catalyst

[MIRROR] Catalyst
Python
22
star
24

vmware

[MIRROR] VMware desktop ebuilds
Shell
21
star
25

gentoolkit

[MIRROR] Collection of administration scripts for Gentoo
Python
18
star
26

riscv

[MIRROR] gentoo riscv overlay
Shell
17
star
27

releng

[MIRROR] Content related to production of releases
Shell
16
star
28

java-overlay

[MIRROR] Java overlay
Shell
16
star
29

prefix

[MIRROR] Gentoo Prefix tree
Shell
16
star
30

sandbox

[MIRROR] Gentoo Sandbox Tool
C
15
star
31

gentoo-functions

[MIRROR] Base functions for Gentoo systems
Shell
13
star
32

porticron

[MIRROR] Portage sync script
Shell
13
star
33

crossdev

Shell
12
star
34

tatt

[MIRROR] arch testing tool
Python
11
star
35

gnome

[MIRROR] GNOME Overlay
Python
10
star
36

glibc

[MIRROR] Gentoo vendor branches of the glibc code
C
9
star
37

GenTwoo-backend

[ORIGIN] (no description)
Haskell
8
star
38

webapp-config

[MIRROR] Gentoo's installer for web-based applications
Python
7
star
39

lua

[MIRROR] Lua development overlay
Shell
7
star
40

parity

[ORIGIN] The Windows Compiler Wrapper
C++
7
star
41

java-ebuilder

[MIRROR] Java team tool for semi-automatic creation of ebuilds from pom.xml
Java
7
star
42

recruiting.gentoo.org

[ORIGIN] Recruiting web application for Gentoo linux
JavaScript
6
star
43

gentoo-apparmor-profiles

[ORIGIN] AppArmor profiles just for Gentoo
5
star
44

gentoo-gitmig-20150809-draft

[ORIGIN] Draft full migration of the entire gentoo cvs history (non-official)
Shell
5
star
45

matrix

[MIRROR] Overlay with clients, servers and services for the Matrix protocol
Shell
5
star
46

gentoo-bashcomp

[MIRROR] Gentoo-specific bash command-line completions (emerge, ebuild, equery, repoman, layman, etc)
Shell
5
star
47

soko

[MIRROR] packages.gentoo.org (PROD)
Go
5
star
48

pambase

[MIRROR] Base settings for PAM configuration in Gentoo
Smarty
5
star
49

eclipse-overlay

[MIRROR] Community effort at packaging Eclipse Java SDK >=4.4
Shell
5
star
50

gentoo-keys

[MIRROR] Seed-key files and utilities for managing gentoo gpg signing and verification keys
Python
5
star
51

grss

[MIRROR] Gentoo Reference Systems Suite
Python
4
star
52

tboxanalysis

[ORIGIN] (no description)
Ruby
4
star
53

pornview

[ORIGIN] no, this is just an image viewer (forked from http://sourceforge.net/projects/pornview/)
C
4
star
54

netifrc-systemd

[ORIGIN] netifrc systemd support (GSoC2014/rabisg, fork of netifrc)
Shell
3
star
55

repo-proj-wine

[MIRROR] All supported Wine ebuilds from the Gentoo Wine Project
Shell
3
star
56

gentoo-historical-2

[MIRROR] Another conversion of the historical gentoo-x86 ebuild repository
3
star
57

graveyard

[ORIGIN] Overlay for packages tree-cleaned from the official portage repository
Shell
3
star
58

gentoo-news

[MIRROR] Critical News (GLEP 42)
3
star
59

binutils-gdb

[MIRROR] Gentoo vendor branches of the binutils / gdb code
C
3
star
60

mirrors.gentoo.org

[ORIGIN] New web app for mirrors.g.o
JavaScript
3
star
61

x11

[MIRROR] X11 development overlay
Shell
2
star
62

pms

TeX
2
star
63

glsamaker

[MIRROR] Gentoo Security GLSA creation tool
Go
2
star
64

python

[MIRROR] Python overlay
2
star
65

mirrorselect

[MIRROR] Tool to help select distfiles mirrors for Gentoo
Python
2
star
66

pam_dotfile

[ORIGIN] Mirror of Lennart Poettering's pam_dotfile
C
2
star
67

ruby-overlay

[MIRROR] Official Ruby Project overlay for unsuitable-for-tree ebuilds
Shell
2
star
68

gentoo-mate

[MIRROR] Experimental MATE ebuilds
Shell
2
star
69

gcc-config

Shell
1
star
70

policy-guide

[MIRROR] Gentoo Policy Guide sources
Python
1
star
71

gentoo.github.com

[ORIGIN] gentoo.github.com
HTML
1
star
72

elfix

[MIRROR] Utilities to fix Elf binaries
C
1
star
73

eselect-qtgraphicssystem

[ORIGIN] (no description)
1
star
74

java-config

[MIRROR] java-config utility
Python
1
star
75

binutils-patches

Shell
1
star
76

linux-headers-patches

Shell
1
star
77

tex

[MIRROR] TeX specific matters
Makefile
1
star
78

tilera

[ORIGIN] tilera ebuild repository
1
star
79

elt-patches

Roff
1
star