Examine individual changes

From Gentoo Wiki
Abuse Filter navigation (Home | Recent filter changes | Examine past edits | Abuse log)
Jump to:navigation Jump to:search

This page allows you to examine the variables generated by the Abuse Filter for an individual change, and test it against filters.

Variables generated for this change

VariableValue
Edit count of the user (user_editcount)
2686
Name of the user account (user_name)
'MGorny'
Age of the user account (user_age)
309825841
Page ID (page_id)
37503
Page namespace (page_namespace)
510
Page title (without namespace) (page_title)
'Portage'
Full page title (page_prefixedtitle)
'Project:Portage'
Action (action)
'edit'
Edit summary/reason (summary)
'readd myself'
Old content model (old_content_model)
'wikitext'
New content model (new_content_model)
'wikitext'
Old page wikitext, before the edit (old_wikitext)
'{{Project |Name=Portage |Description=The Portage Development Project is devoted to maintaining and updating Portages core functionality and utilities. |Email=dev-portage@gentoo.org |Mailing list=gentoo-portage-dev |IRC=#gentoo-portage |ParentProject=Project:Gentoo |PropagatesMembers=No |LeadElectionDate=2019/05/01 |Members={{Project Member |Developer=User:Zmedico |Role=Core |IsLead=Yes }}{{Project Member |Developer=User:Tommy |Role=Mutlilib liaison |IsLead=No }}{{Project Member |Developer=User:Grobian |Role=Prefix liaison |IsLead=No }}{{Project Member |Developer=User:Vapier |Role=Member, Sandbox developer, Documenter |IsLead=No }}{{Project Member |Developer=User:Robbat2 |Role=Infra Liaison |IsLead=No }}{{Project Member |Developer=User:Daniel_Robbins |Role=Member |IsLead=No }} }} The Portage Development Project works to provide a continuously expanding and developing tool for the management and installation of packages. The developers work on providing a coherent system that is as trouble free as possible (backwards compatible, automated, and simple). Bugs are tracked and fixed from the [https://bugs.gentoo.org/ Gentoo bug tracker] and developer-developer correspondence is maintained on the gentoo-portage-dev mailing list. Another communication channel is the {{IRC|gentoo-portage|mode=webchat}} IRC channel on the Libera.Chat network. == About Portage == Portage is a GPLv2 package management system based on [[wikipedia:Ports_collection|ports collections]]. The [[Project:Package_Manager_Specification|Package Manager Specification Project (PMS)]] standardizes and documents the behavior of Portage so that the Gentoo packages can be managed by other package managers. Some alternative package managers for Gentoo include [[Paludis]] and [[Pkgcore|pkgcore]]. The goal of the Portage project is to provide a seamless integration of developer and user tools to aid the growth and maintenance of Gentoo packages. This means we work not only on Portage itself, but also on associated tools, and on ensuring that our APIs are useful to other tools. == Contributing to Portage == While there are many ways of contributing to Portage, there are two steps that are common to most of them: [[#The bug tracker|The bug tracker]], and [[#The source code repository|The source code repository]]. In this section we additionally cover testing Portage, and submitting patches to us. If you want to discuss anything with us prior to contributing, or want to get in touch for some other reason, see the [[#Getting in touch]] section. If you want ideas on what to work on initially, check our [[Project:Portage/Ongoing-TODO|ongoing activities subpage]], which includes some low-hanging fruits for newcomers. === The bug tracker === Gentoo uses the [https://bugs.gentoo.org Bugzilla] bug tracking system. There is a specific [https://bugs.gentoo.org/describecomponents.cgi?product=Portage%20Development Portage Development category] where our bugs are filed. Here you can find tonnes of bugs to work on, and you may file your own bugs. If you want to add a new feature or discuss a change you want to make to Portage, you should file a bug here. Before opening a new bug report please make sure that the bug has not already been reported by another user! If you are filing a bug based on a problem you found with Portage, please state the following clearly (if they are applicable): * How you triggered the bug (commands executed, files edited, ...). * What Portage version you used when you found the bug. * If the bug is reproducible. * The output of the {{c|emerge --info}} command. If you are looking to suggest a new feature, or discuss some changes to the way Portage works, please make sure to include the following (if applicable): * What the motivation for the proposed change. * How the proposed change fixes your tangible problem. * How the change affects other aspects of Portage. * How you think it can be implemented. Please don't get too impatient if there is no immediate reaction to your report. Sometimes it can take a while before a developer has time to look at it (this also applies to non-Portage Gentoo bug reports). Often we'll need additional information from you while trying to resolve a bug, please provide it as soon as you can, if we have to wait too long (over a month) we'll likely close the bug as RESOLVED:NEEDINFO, you can however reopen it when you posted the requested information. Please do not reopen bugs unless you're in one of the following situations: * The bug was marked as RESOLVED:FIXED, but you can still reproduce it with the new version that is supposed to contain the fix (the version is generally stated when the bug is closed). * The bug was marked as RESOLVED:NEEDINFO and you have provided the requested information. * The bug was marked as RESOLVED:WONTFIX, RESOLVED:CANTFIX, or RESOLVED:LATER and you think we misunderstood you. '''Do not reopen a bug just because you disagree with our resolution'''. Be aware that we will still read comments on bug reports even if the report itself is closed, so you don't have to reopen it just to get our attention. Every bug report deals with one specific problem, please respect that and don't talk about other not directly related issues on a bug report. If you want to discuss a big change to Portage, try first to think about how you can divide the problem into smaller problems in order to file small self-contained reports that can be dealt with independently. === The source code repository === The Portage source code is maintained within a [https://gitweb.gentoo.org/proj/portage.git/ git repository on Gentoo's gitweb]. If you are a dev: The main repository is located at [https://git.gentoo.org/ git+ssh://git@git.gentoo.org/proj/portage.git], please note that it is subject to strict access controls, only people listed in the developers section on this page are able to commit to it. For anonymous access please use [https://anongit.gentoo.org/git/proj/portage.git our anongit]. There is also a [http://anongit.gentoo.org/git/proj/portage.git non-HTTPS anongit] should you need it. We also have a [https://github.com/gentoo/portage/ GitHub mirror], but note that this is just a mirror, so please do not file issues here unless they pertain to the mirror. Pull requests are accepted and merged to the primary git repository. The repository currently contains the following branches (incomplete list): * master: the current main development line * repoman: repoman rewrite * infra: branch used by the [[Project:Infrastructure|infra team]] for hotfixes === Testing Portage === We use unit tests for Portage. The details are documented in [https://gitweb.gentoo.org/proj/portage.git/tree/TEST-NOTES TEST-NOTES], and to run them you use the [https://gitweb.gentoo.org/proj/portage.git/tree/runtests runtests] script. You should always make sure that your changes do not introduce any regressions, and the testsuite will help you catch regressions. To make sure there are no regressions on your code in the future, you should write tests for your own code too. As of version 2.1.2 of Portage, it is also possible to test multiple versions of Portage. There are various reasons why you'd want to have multiple versions of Portage available at the same time without having to install them as system default. Examples would be to check which versions are affected by a specific bug, to test new features before deploying a new version or have a git checkout available for testing while keeping a stable release for normal operation. You can have and use an arbitrary number of Portage installations parallel to each other by adjusting the two environment variables <var>PATH</var> and <var>PYTHONPATH</var>. For example if you have a checkout of the master branch at {{Path|/checkouts/portage}} you'd set them like this: {{CodeBox|title=settings to use portage master branch|1= export PYTHONPATH="/checkouts/portage/lib${PYTHONPATH:+:}${PYTHONPATH}" export PATH="/checkouts/portage/bin:${PATH}" }} With those settings calling tools like {{c|emerge}}, {{c|repoman}}, or {{c|ebuild}} will pickup the correct locations to import libraries. External tools like gentoolkit or porthole may or may not respect those settings. Setting <var>PATH</var> variable is not necessary if the commands are called by their full name (e.g. {{Path|/checkouts/portage/bin/emerge}} instead of {{c|emerge}}). === Submitting patches === In order to submit patches, there are a few criteria you'll need to follow. Don't worry, most of them are fairly obvious and simple practical things. The criteria for Portage are documented extensively in our [https://gitweb.gentoo.org/proj/portage.git/tree/DEVELOPING DEVELOPING] guide. (If you are contributing to something else than Portage, make sure to check if that project has a similar guide.) Here are some highlights: * Use tabs. * Cap line width at 80. * Use if foo is not None rather than if foo != None". * Avoid has_key. * Use raise KeyError("No Key) instead of raise KeyError, "No key". * Use one import per line. * Python docstrings should conform to the [http://www.gentoo.org/doc/policies/docstring-spec.xml Portage Docstring Specification]. If you make a significant change (e.g. fix a bug), add it to [https://gitweb.gentoo.org/proj/portage.git/tree/RELEASE-NOTES RELEASE-NOTE] per that format. If the change is a massive new feature or very important bug fix, also add it to [https://gitweb.gentoo.org/proj/portage.git/tree/NEWS NEWS] per that format. When submitting your changes, you should preferably use git. This is a breeze if you already know git. Make sure your changes are split up into small specific commits with descriptive commit messages that describe what you are changing and why (see [https://gitweb.gentoo.org/proj/portage.git/tree/DEVELOPING DEVELOPING] for format details), and just {{c|git send-email}} to {{Mail|gentoo-portage-dev@lists.gentoo.org}}. If you don't know how to use git, see [[#Submitting patches without git|Submitting patches without git]]. === Submitting patches without git === If you don't know git, you really should learn at least the basics of git... Try reading the comprehensive yet accessible [https://www.git-scm.com/book/en/v2 Pro Git] book. If the patch should somehow be so important that we need it right away, before you have time to learn git, you can try sending an email to {{Mail|gentoo-portage-dev@lists.gentoo.org}} to which you attach unified diffs. A diff is a file that only contains the changes you've made (and some context), rather than the entire file you have changed something in. You can make unified diffs using {{c| diff -u}}. Also include a detailed explanation of what the changes are in the email. Always state against which version or revision and branch the patch was made, as we can't always figure this out for ourself when you haven't used git. If the patch is related to a specific bug report, please attach it there as text/plain. If it is not directly related to a bug report (to your knowledge) please send it to the {{Mail|gentoo-portage-dev@lists.gentoo.org}} mailing list and tag the subject with '[PATCH]'. == Current development activities == We have a [[Project:Portage/Ongoing-TODO|subpage dedicated to current activites]], which includes some low-hanging fruits for newcomers. We also keep a [[Project:Portage/Proposals|proposals subpage]] for big ideas. Two major activities at the moment include: * [[Project:Portage/Repoman-TODO|A repoman rewrite]] * [[Project:Portage/Sync|A new plug-in sync system]] == Getting in touch == We have a mailing list we use for for patch submissions and review before it will be included in the main code base. This list is also used for discussion about new directions and features, and just about everything else. You must be a list subscriber to send to this list. Please see [https://gentoo.org/get-involved/mailing-lists/ the Gentoo mailing lists page] for how to subscribe. The address of our list is: {{Mail|gentoo-portage-dev@lists.gentoo.org}}. In addition to the mailing list, we have an IRC channel on Libera.Chat: {{IRC|gentoo-portage|mode=webchat}}. This can be used if you want a more synchronous conversation. If nobody's answering, please be patient. If you feel it is urgent, you can try pinging the team lead, zmedico. == Portage project members == Being a Gentoo developer is a formal requirement to being a Portage project member. The members are listed in the info bar up to the right. However, in addition to the formal members, we have some equally valued contributing members which are not Gentoo developers. See the [[Project:Portage/Membership|membership subpage]] for how to become a Portage project member. Of course, you can become a [https://gentoo.org/get-involved/become-developer/ Gentoo developer] too. Here is the list of contributing non-Gentoo members: {| class="table table-condensed table-striped" |- ! Member !! Nick !! Role |- |Arfrever Frehtes Taifersar Arahesis || Arfrever || member |- |Sebastian Luther || few || member |} == See also == Resources offered by the Portage project on the wiki include: === Subpages === * [[Project:Portage/Ongoing-TODO]] * [[Project:Portage/Releases-On-PyPi]] * [[Project:Portage/Repoman-TODO]] * [[Project:Portage/Repoman-Module-specs]] * [[Project:Portage/Proposals]] * [[Project:Portage/Meetings]] * [[Project:Portage/Profiling]] * [[Project:Portage/Sync|Portage plug-in sync system specification]] * [[Project:Portage/Repository Verification|Repository Verification]] * [[Project:Portage/Changed Deps|Changed Deps]] * [[Project:Portage/FAQ|Portage Frequently Asked Questions (FAQ)]] * [[Project:Portage/Common_problems|List of common major Portage problems and solutions]] * [[Project:Portage/Fixing_broken_portage|Guide for manually fixing a broken portage install]] * [[Project:Portage/Membership|Membership policies of the Portage project]] * [[Project:Portage/Sync/post-rsync-world|A post-rsync syncing world]] === Documentation resources === The following resources are maintained by the [[Project:Handbook|Handbook]] and the [[Project:Devmanual|Devmanual]] projects respectively. Since they are the primary online documentation for Portage they will be listed here: ==== Handbook project ==== * [[Handbook:AMD64/Working/Portage|A Portage Introduction]] * [[Handbook:AMD64/Working/Features|Portage Features]] * [[Handbook:AMD64/Portage/Files|Working with Portage]] * [[Handbook:AMD64/Working/USE|USE flags]] ==== Devmanual project ==== * [[Project:ComRel/Developer_Handbook|Developer Handbook]] - Deprecated. Formerly maintained by the Community Relations project. * [https://devmanual.gentoo.org Gentoo Devmanual] - Maintained the [[Project:Devmanual|Devmanual project]], a child project of the [[Project:Quality_Assurance|QA project]]. == External resources == * [https://travis-ci.org/gentoo/portage Travis-CI.org Portage testing] (Travis CI). * [http://www.gentoo.org/proj/en/portage/doc/policies/docstring-spec.xml Portage docstring-spec] * [http://www.gentoo.org/proj/en/portage/doc/policies/bugzilla.xml Bugzilla policies] * [http://www.gentoo.org/proj/en/portage/doc/policies/release.xml Release policies] * [http://dev.gentoo.org/~zmedico/portage/doc/ Portage documentation] (generated from docbook) * [http://dev.gentoo.org/~zmedico/portage/doc/api/ Portage API documentation] (generated with epydoc) * [https://raw.githubusercontent.com/gentoo/portage/master/NEWS Portage NEWS file] (lists new features) * [https://raw.githubusercontent.com/gentoo/portage/master/RELEASE-NOTES Portage RELEASE-NOTES file] (lists upgrade information) * The {{IRC|gentoo-portage|mode=webchat}} IRC channel on Libera.Chat. * [https://archives.gentoo.org/gentoo-portage-dev/ gentoo-portage-dev mailing list] * {{Package|sys-apps/portage}} package * [https://github.com/gentoo/portage Portage GIT repository mirror] (GitHub mirror) * [http://bugs.gentoo.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=exact&email1=dev-portage%40gentoo.org&keywords_type=nowords&keywords=InVCS+InSVN Open bugs assigned to the dev-portage alias] * [http://bugs.gentoo.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=exact&email1=pms-bugs%40gentoo.org Open bugs assigned to the pms-bugs alias] * [http://bugs.gentoo.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=exact&email1=tools-portage%40gentoo.org Open bugs assigned to the tools-portage alias] {{Migrated|originalauthors=carpaski, genone}} [[Category:Projects]]'
New page wikitext, after the edit (new_wikitext)
'{{Project |Name=Portage |Description=The Portage Development Project is devoted to maintaining and updating Portages core functionality and utilities. |Email=dev-portage@gentoo.org |Mailing list=gentoo-portage-dev |IRC=#gentoo-portage |ParentProject=Project:Gentoo |PropagatesMembers=No |LeadElectionDate=2019-05-01 |Members={{Project Member |Developer=User:Zmedico |Role=Core |IsLead=Yes }}{{Project Member |Developer=User:Tommy |Role=Mutlilib liaison |IsLead=No }}{{Project Member |Developer=User:Grobian |Role=Prefix liaison |IsLead=No }}{{Project Member |Developer=User:Vapier |Role=Member, Sandbox developer, Documenter |IsLead=No }}{{Project Member |Developer=User:Robbat2 |Role=Infra Liaison |IsLead=No }}{{Project Member |Developer=User:Daniel_Robbins |Role=Member |IsLead=No }}{{Project Member |Developer=User:MGorny |Role=Member |IsLead=No }} }} The Portage Development Project works to provide a continuously expanding and developing tool for the management and installation of packages. The developers work on providing a coherent system that is as trouble free as possible (backwards compatible, automated, and simple). Bugs are tracked and fixed from the [https://bugs.gentoo.org/ Gentoo bug tracker] and developer-developer correspondence is maintained on the gentoo-portage-dev mailing list. Another communication channel is the {{IRC|gentoo-portage|mode=webchat}} IRC channel on the Libera.Chat network. == About Portage == Portage is a GPLv2 package management system based on [[wikipedia:Ports_collection|ports collections]]. The [[Project:Package_Manager_Specification|Package Manager Specification Project (PMS)]] standardizes and documents the behavior of Portage so that the Gentoo packages can be managed by other package managers. Some alternative package managers for Gentoo include [[Paludis]] and [[Pkgcore|pkgcore]]. The goal of the Portage project is to provide a seamless integration of developer and user tools to aid the growth and maintenance of Gentoo packages. This means we work not only on Portage itself, but also on associated tools, and on ensuring that our APIs are useful to other tools. == Contributing to Portage == While there are many ways of contributing to Portage, there are two steps that are common to most of them: [[#The bug tracker|The bug tracker]], and [[#The source code repository|The source code repository]]. In this section we additionally cover testing Portage, and submitting patches to us. If you want to discuss anything with us prior to contributing, or want to get in touch for some other reason, see the [[#Getting in touch]] section. If you want ideas on what to work on initially, check our [[Project:Portage/Ongoing-TODO|ongoing activities subpage]], which includes some low-hanging fruits for newcomers. === The bug tracker === Gentoo uses the [https://bugs.gentoo.org Bugzilla] bug tracking system. There is a specific [https://bugs.gentoo.org/describecomponents.cgi?product=Portage%20Development Portage Development category] where our bugs are filed. Here you can find tonnes of bugs to work on, and you may file your own bugs. If you want to add a new feature or discuss a change you want to make to Portage, you should file a bug here. Before opening a new bug report please make sure that the bug has not already been reported by another user! If you are filing a bug based on a problem you found with Portage, please state the following clearly (if they are applicable): * How you triggered the bug (commands executed, files edited, ...). * What Portage version you used when you found the bug. * If the bug is reproducible. * The output of the {{c|emerge --info}} command. If you are looking to suggest a new feature, or discuss some changes to the way Portage works, please make sure to include the following (if applicable): * What the motivation for the proposed change. * How the proposed change fixes your tangible problem. * How the change affects other aspects of Portage. * How you think it can be implemented. Please don't get too impatient if there is no immediate reaction to your report. Sometimes it can take a while before a developer has time to look at it (this also applies to non-Portage Gentoo bug reports). Often we'll need additional information from you while trying to resolve a bug, please provide it as soon as you can, if we have to wait too long (over a month) we'll likely close the bug as RESOLVED:NEEDINFO, you can however reopen it when you posted the requested information. Please do not reopen bugs unless you're in one of the following situations: * The bug was marked as RESOLVED:FIXED, but you can still reproduce it with the new version that is supposed to contain the fix (the version is generally stated when the bug is closed). * The bug was marked as RESOLVED:NEEDINFO and you have provided the requested information. * The bug was marked as RESOLVED:WONTFIX, RESOLVED:CANTFIX, or RESOLVED:LATER and you think we misunderstood you. '''Do not reopen a bug just because you disagree with our resolution'''. Be aware that we will still read comments on bug reports even if the report itself is closed, so you don't have to reopen it just to get our attention. Every bug report deals with one specific problem, please respect that and don't talk about other not directly related issues on a bug report. If you want to discuss a big change to Portage, try first to think about how you can divide the problem into smaller problems in order to file small self-contained reports that can be dealt with independently. === The source code repository === The Portage source code is maintained within a [https://gitweb.gentoo.org/proj/portage.git/ git repository on Gentoo's gitweb]. If you are a dev: The main repository is located at [https://git.gentoo.org/ git+ssh://git@git.gentoo.org/proj/portage.git], please note that it is subject to strict access controls, only people listed in the developers section on this page are able to commit to it. For anonymous access please use [https://anongit.gentoo.org/git/proj/portage.git our anongit]. There is also a [http://anongit.gentoo.org/git/proj/portage.git non-HTTPS anongit] should you need it. We also have a [https://github.com/gentoo/portage/ GitHub mirror], but note that this is just a mirror, so please do not file issues here unless they pertain to the mirror. Pull requests are accepted and merged to the primary git repository. The repository currently contains the following branches (incomplete list): * master: the current main development line * repoman: repoman rewrite * infra: branch used by the [[Project:Infrastructure|infra team]] for hotfixes === Testing Portage === We use unit tests for Portage. The details are documented in [https://gitweb.gentoo.org/proj/portage.git/tree/TEST-NOTES TEST-NOTES], and to run them you use the [https://gitweb.gentoo.org/proj/portage.git/tree/runtests runtests] script. You should always make sure that your changes do not introduce any regressions, and the testsuite will help you catch regressions. To make sure there are no regressions on your code in the future, you should write tests for your own code too. As of version 2.1.2 of Portage, it is also possible to test multiple versions of Portage. There are various reasons why you'd want to have multiple versions of Portage available at the same time without having to install them as system default. Examples would be to check which versions are affected by a specific bug, to test new features before deploying a new version or have a git checkout available for testing while keeping a stable release for normal operation. You can have and use an arbitrary number of Portage installations parallel to each other by adjusting the two environment variables <var>PATH</var> and <var>PYTHONPATH</var>. For example if you have a checkout of the master branch at {{Path|/checkouts/portage}} you'd set them like this: {{CodeBox|title=settings to use portage master branch|1= export PYTHONPATH="/checkouts/portage/lib${PYTHONPATH:+:}${PYTHONPATH}" export PATH="/checkouts/portage/bin:${PATH}" }} With those settings calling tools like {{c|emerge}}, {{c|repoman}}, or {{c|ebuild}} will pickup the correct locations to import libraries. External tools like gentoolkit or porthole may or may not respect those settings. Setting <var>PATH</var> variable is not necessary if the commands are called by their full name (e.g. {{Path|/checkouts/portage/bin/emerge}} instead of {{c|emerge}}). === Submitting patches === In order to submit patches, there are a few criteria you'll need to follow. Don't worry, most of them are fairly obvious and simple practical things. The criteria for Portage are documented extensively in our [https://gitweb.gentoo.org/proj/portage.git/tree/DEVELOPING DEVELOPING] guide. (If you are contributing to something else than Portage, make sure to check if that project has a similar guide.) Here are some highlights: * Use tabs. * Cap line width at 80. * Use if foo is not None rather than if foo != None". * Avoid has_key. * Use raise KeyError("No Key) instead of raise KeyError, "No key". * Use one import per line. * Python docstrings should conform to the [http://www.gentoo.org/doc/policies/docstring-spec.xml Portage Docstring Specification]. If you make a significant change (e.g. fix a bug), add it to [https://gitweb.gentoo.org/proj/portage.git/tree/RELEASE-NOTES RELEASE-NOTE] per that format. If the change is a massive new feature or very important bug fix, also add it to [https://gitweb.gentoo.org/proj/portage.git/tree/NEWS NEWS] per that format. When submitting your changes, you should preferably use git. This is a breeze if you already know git. Make sure your changes are split up into small specific commits with descriptive commit messages that describe what you are changing and why (see [https://gitweb.gentoo.org/proj/portage.git/tree/DEVELOPING DEVELOPING] for format details), and just {{c|git send-email}} to {{Mail|gentoo-portage-dev@lists.gentoo.org}}. If you don't know how to use git, see [[#Submitting patches without git|Submitting patches without git]]. === Submitting patches without git === If you don't know git, you really should learn at least the basics of git... Try reading the comprehensive yet accessible [https://www.git-scm.com/book/en/v2 Pro Git] book. If the patch should somehow be so important that we need it right away, before you have time to learn git, you can try sending an email to {{Mail|gentoo-portage-dev@lists.gentoo.org}} to which you attach unified diffs. A diff is a file that only contains the changes you've made (and some context), rather than the entire file you have changed something in. You can make unified diffs using {{c| diff -u}}. Also include a detailed explanation of what the changes are in the email. Always state against which version or revision and branch the patch was made, as we can't always figure this out for ourself when you haven't used git. If the patch is related to a specific bug report, please attach it there as text/plain. If it is not directly related to a bug report (to your knowledge) please send it to the {{Mail|gentoo-portage-dev@lists.gentoo.org}} mailing list and tag the subject with '[PATCH]'. == Current development activities == We have a [[Project:Portage/Ongoing-TODO|subpage dedicated to current activites]], which includes some low-hanging fruits for newcomers. We also keep a [[Project:Portage/Proposals|proposals subpage]] for big ideas. Two major activities at the moment include: * [[Project:Portage/Repoman-TODO|A repoman rewrite]] * [[Project:Portage/Sync|A new plug-in sync system]] == Getting in touch == We have a mailing list we use for for patch submissions and review before it will be included in the main code base. This list is also used for discussion about new directions and features, and just about everything else. You must be a list subscriber to send to this list. Please see [https://gentoo.org/get-involved/mailing-lists/ the Gentoo mailing lists page] for how to subscribe. The address of our list is: {{Mail|gentoo-portage-dev@lists.gentoo.org}}. In addition to the mailing list, we have an IRC channel on Libera.Chat: {{IRC|gentoo-portage|mode=webchat}}. This can be used if you want a more synchronous conversation. If nobody's answering, please be patient. If you feel it is urgent, you can try pinging the team lead, zmedico. == Portage project members == Being a Gentoo developer is a formal requirement to being a Portage project member. The members are listed in the info bar up to the right. However, in addition to the formal members, we have some equally valued contributing members which are not Gentoo developers. See the [[Project:Portage/Membership|membership subpage]] for how to become a Portage project member. Of course, you can become a [https://gentoo.org/get-involved/become-developer/ Gentoo developer] too. Here is the list of contributing non-Gentoo members: {| class="table table-condensed table-striped" |- ! Member !! Nick !! Role |- |Arfrever Frehtes Taifersar Arahesis || Arfrever || member |- |Sebastian Luther || few || member |} == See also == Resources offered by the Portage project on the wiki include: === Subpages === * [[Project:Portage/Ongoing-TODO]] * [[Project:Portage/Releases-On-PyPi]] * [[Project:Portage/Repoman-TODO]] * [[Project:Portage/Repoman-Module-specs]] * [[Project:Portage/Proposals]] * [[Project:Portage/Meetings]] * [[Project:Portage/Profiling]] * [[Project:Portage/Sync|Portage plug-in sync system specification]] * [[Project:Portage/Repository Verification|Repository Verification]] * [[Project:Portage/Changed Deps|Changed Deps]] * [[Project:Portage/FAQ|Portage Frequently Asked Questions (FAQ)]] * [[Project:Portage/Common_problems|List of common major Portage problems and solutions]] * [[Project:Portage/Fixing_broken_portage|Guide for manually fixing a broken portage install]] * [[Project:Portage/Membership|Membership policies of the Portage project]] * [[Project:Portage/Sync/post-rsync-world|A post-rsync syncing world]] === Documentation resources === The following resources are maintained by the [[Project:Handbook|Handbook]] and the [[Project:Devmanual|Devmanual]] projects respectively. Since they are the primary online documentation for Portage they will be listed here: ==== Handbook project ==== * [[Handbook:AMD64/Working/Portage|A Portage Introduction]] * [[Handbook:AMD64/Working/Features|Portage Features]] * [[Handbook:AMD64/Portage/Files|Working with Portage]] * [[Handbook:AMD64/Working/USE|USE flags]] ==== Devmanual project ==== * [[Project:ComRel/Developer_Handbook|Developer Handbook]] - Deprecated. Formerly maintained by the Community Relations project. * [https://devmanual.gentoo.org Gentoo Devmanual] - Maintained the [[Project:Devmanual|Devmanual project]], a child project of the [[Project:Quality_Assurance|QA project]]. == External resources == * [https://travis-ci.org/gentoo/portage Travis-CI.org Portage testing] (Travis CI). * [http://www.gentoo.org/proj/en/portage/doc/policies/docstring-spec.xml Portage docstring-spec] * [http://www.gentoo.org/proj/en/portage/doc/policies/bugzilla.xml Bugzilla policies] * [http://www.gentoo.org/proj/en/portage/doc/policies/release.xml Release policies] * [http://dev.gentoo.org/~zmedico/portage/doc/ Portage documentation] (generated from docbook) * [http://dev.gentoo.org/~zmedico/portage/doc/api/ Portage API documentation] (generated with epydoc) * [https://raw.githubusercontent.com/gentoo/portage/master/NEWS Portage NEWS file] (lists new features) * [https://raw.githubusercontent.com/gentoo/portage/master/RELEASE-NOTES Portage RELEASE-NOTES file] (lists upgrade information) * The {{IRC|gentoo-portage|mode=webchat}} IRC channel on Libera.Chat. * [https://archives.gentoo.org/gentoo-portage-dev/ gentoo-portage-dev mailing list] * {{Package|sys-apps/portage}} package * [https://github.com/gentoo/portage Portage GIT repository mirror] (GitHub mirror) * [http://bugs.gentoo.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=exact&email1=dev-portage%40gentoo.org&keywords_type=nowords&keywords=InVCS+InSVN Open bugs assigned to the dev-portage alias] * [http://bugs.gentoo.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=exact&email1=pms-bugs%40gentoo.org Open bugs assigned to the pms-bugs alias] * [http://bugs.gentoo.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=exact&email1=tools-portage%40gentoo.org Open bugs assigned to the tools-portage alias] {{Migrated|originalauthors=carpaski, genone}} [[Category:Projects]]'
Unified diff of changes made by edit (edit_diff)
'@@ -7,5 +7,5 @@ |ParentProject=Project:Gentoo |PropagatesMembers=No -|LeadElectionDate=2019/05/01 +|LeadElectionDate=2019-05-01 |Members={{Project Member |Developer=User:Zmedico @@ -30,4 +30,8 @@ }}{{Project Member |Developer=User:Daniel_Robbins +|Role=Member +|IsLead=No +}}{{Project Member +|Developer=User:MGorny |Role=Member |IsLead=No '
Old page size (old_size)
16664
Lines added in edit (added_lines)
[ 0 => '|LeadElectionDate=2019-05-01', 1 => '|Role=Member', 2 => '|IsLead=No', 3 => '}}{{Project Member', 4 => '|Developer=User:MGorny' ]
Lines removed in edit (removed_lines)
[ 0 => '|LeadElectionDate=2019/05/01' ]
New page text, stripped of any markup (new_text)
' Portage Description The Portage Development Project is devoted to maintaining and updating Portages core functionality and utilities. Project email dev-portage@gentoo.org Mailing list Archive IRC channel #gentoo-portage (webchat) Lead(s) Zac Medico (zmedico)Core Last elected: 2019-05-01 Member(s) Daniel Robbins (drobbins)MemberFabian Groffen (grobian)Prefix liaisonRobin Johnson (robbat2)Infra LiaisonThomas Sachau (tommy)Mutlilib liaisonMike Frysinger (vapier)Member, Sandbox developer, Documenter Subproject(s)(and inherited member(s)) Portage Tools Team Sandbox Team Parent Project Gentoo Project listing The Portage Development Project works to provide a continuously expanding and developing tool for the management and installation of packages. The developers work on providing a coherent system that is as trouble free as possible (backwards compatible, automated, and simple). Bugs are tracked and fixed from the Gentoo bug tracker and developer-developer correspondence is maintained on the gentoo-portage-dev mailing list. Another communication channel is the #gentoo-portage (webchat) IRC channel on the Libera.Chat network. Contents 1 About Portage 2 Contributing to Portage 2.1 The bug tracker 2.2 The source code repository 2.3 Testing Portage 2.4 Submitting patches 2.5 Submitting patches without git 3 Current development activities 4 Getting in touch 5 Portage project members 6 See also 6.1 Subpages 6.2 Documentation resources 6.2.1 Handbook project 6.2.2 Devmanual project 7 External resources About Portage[edit | edit source] Portage is a GPLv2 package management system based on ports collections. The Package Manager Specification Project (PMS) standardizes and documents the behavior of Portage so that the Gentoo packages can be managed by other package managers. Some alternative package managers for Gentoo include Paludis and pkgcore. The goal of the Portage project is to provide a seamless integration of developer and user tools to aid the growth and maintenance of Gentoo packages. This means we work not only on Portage itself, but also on associated tools, and on ensuring that our APIs are useful to other tools. Contributing to Portage[edit | edit source] While there are many ways of contributing to Portage, there are two steps that are common to most of them: The bug tracker, and The source code repository. In this section we additionally cover testing Portage, and submitting patches to us. If you want to discuss anything with us prior to contributing, or want to get in touch for some other reason, see the #Getting in touch section. If you want ideas on what to work on initially, check our ongoing activities subpage, which includes some low-hanging fruits for newcomers. The bug tracker[edit | edit source] Gentoo uses the Bugzilla bug tracking system. There is a specific Portage Development category where our bugs are filed. Here you can find tonnes of bugs to work on, and you may file your own bugs. If you want to add a new feature or discuss a change you want to make to Portage, you should file a bug here. Before opening a new bug report please make sure that the bug has not already been reported by another user! If you are filing a bug based on a problem you found with Portage, please state the following clearly (if they are applicable): How you triggered the bug (commands executed, files edited, ...). What Portage version you used when you found the bug. If the bug is reproducible. The output of the emerge --info command. If you are looking to suggest a new feature, or discuss some changes to the way Portage works, please make sure to include the following (if applicable): What the motivation for the proposed change. How the proposed change fixes your tangible problem. How the change affects other aspects of Portage. How you think it can be implemented. Please don't get too impatient if there is no immediate reaction to your report. Sometimes it can take a while before a developer has time to look at it (this also applies to non-Portage Gentoo bug reports). Often we'll need additional information from you while trying to resolve a bug, please provide it as soon as you can, if we have to wait too long (over a month) we'll likely close the bug as RESOLVED:NEEDINFO, you can however reopen it when you posted the requested information. Please do not reopen bugs unless you're in one of the following situations: The bug was marked as RESOLVED:FIXED, but you can still reproduce it with the new version that is supposed to contain the fix (the version is generally stated when the bug is closed). The bug was marked as RESOLVED:NEEDINFO and you have provided the requested information. The bug was marked as RESOLVED:WONTFIX, RESOLVED:CANTFIX, or RESOLVED:LATER and you think we misunderstood you. Do not reopen a bug just because you disagree with our resolution. Be aware that we will still read comments on bug reports even if the report itself is closed, so you don't have to reopen it just to get our attention. Every bug report deals with one specific problem, please respect that and don't talk about other not directly related issues on a bug report. If you want to discuss a big change to Portage, try first to think about how you can divide the problem into smaller problems in order to file small self-contained reports that can be dealt with independently. The source code repository[edit | edit source] The Portage source code is maintained within a git repository on Gentoo's gitweb. If you are a dev: The main repository is located at git+ssh://git@git.gentoo.org/proj/portage.git, please note that it is subject to strict access controls, only people listed in the developers section on this page are able to commit to it. For anonymous access please use our anongit. There is also a non-HTTPS anongit should you need it. We also have a GitHub mirror, but note that this is just a mirror, so please do not file issues here unless they pertain to the mirror. Pull requests are accepted and merged to the primary git repository. The repository currently contains the following branches (incomplete list): master: the current main development line repoman: repoman rewrite infra: branch used by the infra team for hotfixes Testing Portage[edit | edit source] We use unit tests for Portage. The details are documented in TEST-NOTES, and to run them you use the runtests script. You should always make sure that your changes do not introduce any regressions, and the testsuite will help you catch regressions. To make sure there are no regressions on your code in the future, you should write tests for your own code too. As of version 2.1.2 of Portage, it is also possible to test multiple versions of Portage. There are various reasons why you'd want to have multiple versions of Portage available at the same time without having to install them as system default. Examples would be to check which versions are affected by a specific bug, to test new features before deploying a new version or have a git checkout available for testing while keeping a stable release for normal operation. You can have and use an arbitrary number of Portage installations parallel to each other by adjusting the two environment variables PATH and PYTHONPATH. For example if you have a checkout of the master branch at /checkouts/portage you'd set them like this: CODE settings to use portage master branchexport PYTHONPATH="/checkouts/portage/lib${PYTHONPATH:+:}${PYTHONPATH}" export PATH="/checkouts/portage/bin:${PATH}" With those settings calling tools like emerge, repoman, or ebuild will pickup the correct locations to import libraries. External tools like gentoolkit or porthole may or may not respect those settings. Setting PATH variable is not necessary if the commands are called by their full name (e.g. /checkouts/portage/bin/emerge instead of emerge). Submitting patches[edit | edit source] In order to submit patches, there are a few criteria you'll need to follow. Don't worry, most of them are fairly obvious and simple practical things. The criteria for Portage are documented extensively in our DEVELOPING guide. (If you are contributing to something else than Portage, make sure to check if that project has a similar guide.) Here are some highlights: Use tabs. Cap line width at 80. Use if foo is not None rather than if foo&#160;!= None". Avoid has_key. Use raise KeyError("No Key) instead of raise KeyError, "No key". Use one import per line. Python docstrings should conform to the Portage Docstring Specification. If you make a significant change (e.g. fix a bug), add it to RELEASE-NOTE per that format. If the change is a massive new feature or very important bug fix, also add it to NEWS per that format. When submitting your changes, you should preferably use git. This is a breeze if you already know git. Make sure your changes are split up into small specific commits with descriptive commit messages that describe what you are changing and why (see DEVELOPING for format details), and just git send-email to gentoo-portage-dev@lists.gentoo.org. If you don't know how to use git, see Submitting patches without git. Submitting patches without git[edit | edit source] If you don't know git, you really should learn at least the basics of git... Try reading the comprehensive yet accessible Pro Git book. If the patch should somehow be so important that we need it right away, before you have time to learn git, you can try sending an email to gentoo-portage-dev@lists.gentoo.org to which you attach unified diffs. A diff is a file that only contains the changes you've made (and some context), rather than the entire file you have changed something in. You can make unified diffs using diff -u. Also include a detailed explanation of what the changes are in the email. Always state against which version or revision and branch the patch was made, as we can't always figure this out for ourself when you haven't used git. If the patch is related to a specific bug report, please attach it there as text/plain. If it is not directly related to a bug report (to your knowledge) please send it to the gentoo-portage-dev@lists.gentoo.org mailing list and tag the subject with '[PATCH]'. Current development activities[edit | edit source] We have a subpage dedicated to current activites, which includes some low-hanging fruits for newcomers. We also keep a proposals subpage for big ideas. Two major activities at the moment include: A repoman rewrite A new plug-in sync system Getting in touch[edit | edit source] We have a mailing list we use for for patch submissions and review before it will be included in the main code base. This list is also used for discussion about new directions and features, and just about everything else. You must be a list subscriber to send to this list. Please see the Gentoo mailing lists page for how to subscribe. The address of our list is: gentoo-portage-dev@lists.gentoo.org. In addition to the mailing list, we have an IRC channel on Libera.Chat: #gentoo-portage (webchat). This can be used if you want a more synchronous conversation. If nobody's answering, please be patient. If you feel it is urgent, you can try pinging the team lead, zmedico. Portage project members[edit | edit source] Being a Gentoo developer is a formal requirement to being a Portage project member. The members are listed in the info bar up to the right. However, in addition to the formal members, we have some equally valued contributing members which are not Gentoo developers. See the membership subpage for how to become a Portage project member. Of course, you can become a Gentoo developer too. Here is the list of contributing non-Gentoo members: Member Nick Role Arfrever Frehtes Taifersar Arahesis Arfrever member Sebastian Luther few member See also[edit | edit source] Resources offered by the Portage project on the wiki include: Subpages[edit | edit source] Project:Portage/Ongoing-TODO Project:Portage/Releases-On-PyPi Project:Portage/Repoman-TODO Project:Portage/Repoman-Module-specs Project:Portage/Proposals Project:Portage/Meetings Project:Portage/Profiling Portage plug-in sync system specification Repository Verification Changed Deps Portage Frequently Asked Questions (FAQ) List of common major Portage problems and solutions Guide for manually fixing a broken portage install Membership policies of the Portage project A post-rsync syncing world Documentation resources[edit | edit source] The following resources are maintained by the Handbook and the Devmanual projects respectively. Since they are the primary online documentation for Portage they will be listed here: Handbook project[edit | edit source] A Portage Introduction Portage Features Working with Portage USE flags Devmanual project[edit | edit source] Developer Handbook - Deprecated. Formerly maintained by the Community Relations project. Gentoo Devmanual - Maintained the Devmanual project, a child project of the QA project. External resources[edit | edit source] Travis-CI.org Portage testing (Travis CI). Portage docstring-spec Bugzilla policies Release policies Portage documentation (generated from docbook) Portage API documentation (generated with epydoc) Portage NEWS file (lists new features) Portage RELEASE-NOTES file (lists upgrade information) The #gentoo-portage (webchat) IRC channel on Libera.Chat. gentoo-portage-dev mailing list sys-apps/portage package Portage GIT repository mirror (GitHub mirror) Open bugs assigned to the dev-portage alias Open bugs assigned to the pms-bugs alias Open bugs assigned to the tools-portage alias This page is based on a document formerly found on our main website gentoo.org. The following people contributed to the original document: carpaski, genoneThey are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.'
Parsed HTML source of the new revision (new_html)
'<div class="mw-parser-output"><table class="table table-condensed" style="width: 30em; font-size: 95%; border: 1px solid #ddd; background-color: #f9f9f9; color: black; margin-bottom: 0.5em; margin-left: 1em; padding: 0.2em; float: right; clear: right; text-align:left;"> <tbody><tr> <th style="text-align: center; background-color:#3E355A; color: white;" colspan="2"><big>Portage</big> </th></tr> <tr valign="top"> <th>Description </th> <td style="text-align: justify;">The Portage Development Project is devoted to maintaining and updating Portages core functionality and utilities. </td></tr> <tr> <th><span title="Mails to member(s) listed below.">Project email</span> </th> <td><a rel="nofollow" class="external text" href="mailto:dev-portage@gentoo.org">dev-portage@gentoo.org</a> </td></tr> <tr> <th><span title="Public discussion list.">Mailing list</span> </th> <td><a rel="nofollow" class="external text" href="https://archives.gentoo.org/gentoo-portage-dev">Archive</a> </td></tr> <tr> <th><span title="The link opens an IRC client to libera.chat IRC channel.">IRC channel</span> </th> <td><span style="font-family: monospace; font-size: 95%;"><a rel="nofollow" class="external text" href="ircs://irc.libera.chat/#gentoo-portage">#gentoo-portage</a></span> (<span style="font-family: monospace; font-size: 95%;"><a rel="nofollow" class="external text" href="https://web.libera.chat/#gentoo-portage">webchat</a></span>) </td></tr> <tr valign="top"> <th>Lead(s) </th> <td><ul><li><a href="/wiki/User:Zmedico" title="User:Zmedico">Zac Medico</a> (zmedico)<br /><i>Core</i></li></ul> <br />Last elected: 2019-05-01 </td></tr> <tr valign="top"> <th>Member(s) </th> <td><ul><li><a href="/wiki/User:Daniel_Robbins" title="User:Daniel Robbins">Daniel Robbins</a> (drobbins)<br /><i>Member</i></li><li><a href="/wiki/User:Grobian" title="User:Grobian">Fabian Groffen</a> (grobian)<br /><i>Prefix liaison</i></li><li><a href="/wiki/User:Robbat2" title="User:Robbat2">Robin Johnson</a> (robbat2)<br /><i>Infra Liaison</i></li><li><a href="/wiki/User:Tommy" title="User:Tommy">Thomas Sachau</a> (tommy)<br /><i>Mutlilib liaison</i></li><li><a href="/wiki/User:Vapier" title="User:Vapier">Mike Frysinger</a> (vapier)<br /><i>Member, Sandbox developer, Documenter</i></li></ul> </td></tr> <tr valign="top"> <th>Subproject(s)<br /><small style="font-weight: normal;">(and inherited member(s))</small> </th> <td><ul><li><a href="/wiki/Project:Portage-Tools" title="Project:Portage-Tools">Portage Tools Team</a> </li><li><a href="/wiki/Project:Sandbox" title="Project:Sandbox">Sandbox Team</a> </li></ul> </td></tr> <tr> <th>Parent Project </th> <td><a href="/wiki/Project:Gentoo" title="Project:Gentoo">Gentoo</a> </td></tr> <tr> <td colspan="2" style="border-top: 1px solid #ddd; font-size: smaller; text-align: center;"><a href="/wiki/Project:Gentoo" title="Project:Gentoo">Project listing</a> </td></tr></tbody></table> <p>The Portage Development Project works to provide a continuously expanding and developing tool for the management and installation of packages. The developers work on providing a coherent system that is as trouble free as possible (backwards compatible, automated, and simple). Bugs are tracked and fixed from the <a rel="nofollow" class="external text" href="https://bugs.gentoo.org/">Gentoo bug tracker</a> and developer-developer correspondence is maintained on the gentoo-portage-dev mailing list. Another communication channel is the <span style="font-family: monospace; font-size: 95%;"><a rel="nofollow" class="external text" href="ircs://irc.libera.chat/#gentoo-portage">#gentoo-portage</a></span> (<span style="font-family: monospace; font-size: 95%;"><a rel="nofollow" class="external text" href="https://web.libera.chat/#gentoo-portage">webchat</a></span>) IRC channel on the Libera.Chat network. </p> <div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> <ul> <li class="toclevel-1 tocsection-1"><a href="#About_Portage"><span class="tocnumber">1</span> <span class="toctext">About Portage</span></a></li> <li class="toclevel-1 tocsection-2"><a href="#Contributing_to_Portage"><span class="tocnumber">2</span> <span class="toctext">Contributing to Portage</span></a> <ul> <li class="toclevel-2 tocsection-3"><a href="#The_bug_tracker"><span class="tocnumber">2.1</span> <span class="toctext">The bug tracker</span></a></li> <li class="toclevel-2 tocsection-4"><a href="#The_source_code_repository"><span class="tocnumber">2.2</span> <span class="toctext">The source code repository</span></a></li> <li class="toclevel-2 tocsection-5"><a href="#Testing_Portage"><span class="tocnumber">2.3</span> <span class="toctext">Testing Portage</span></a></li> <li class="toclevel-2 tocsection-6"><a href="#Submitting_patches"><span class="tocnumber">2.4</span> <span class="toctext">Submitting patches</span></a></li> <li class="toclevel-2 tocsection-7"><a href="#Submitting_patches_without_git"><span class="tocnumber">2.5</span> <span class="toctext">Submitting patches without git</span></a></li> </ul> </li> <li class="toclevel-1 tocsection-8"><a href="#Current_development_activities"><span class="tocnumber">3</span> <span class="toctext">Current development activities</span></a></li> <li class="toclevel-1 tocsection-9"><a href="#Getting_in_touch"><span class="tocnumber">4</span> <span class="toctext">Getting in touch</span></a></li> <li class="toclevel-1 tocsection-10"><a href="#Portage_project_members"><span class="tocnumber">5</span> <span class="toctext">Portage project members</span></a></li> <li class="toclevel-1 tocsection-11"><a href="#See_also"><span class="tocnumber">6</span> <span class="toctext">See also</span></a> <ul> <li class="toclevel-2 tocsection-12"><a href="#Subpages"><span class="tocnumber">6.1</span> <span class="toctext">Subpages</span></a></li> <li class="toclevel-2 tocsection-13"><a href="#Documentation_resources"><span class="tocnumber">6.2</span> <span class="toctext">Documentation resources</span></a> <ul> <li class="toclevel-3 tocsection-14"><a href="#Handbook_project"><span class="tocnumber">6.2.1</span> <span class="toctext">Handbook project</span></a></li> <li class="toclevel-3 tocsection-15"><a href="#Devmanual_project"><span class="tocnumber">6.2.2</span> <span class="toctext">Devmanual project</span></a></li> </ul> </li> </ul> </li> <li class="toclevel-1 tocsection-16"><a href="#External_resources"><span class="tocnumber">7</span> <span class="toctext">External resources</span></a></li> </ul> </div> <h2><span class="mw-headline" id="About_Portage">About Portage</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=1" class="mw-editsection-visualeditor" title="Edit section: About Portage">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=1" title="Edit section: About Portage">edit source</a><span class="mw-editsection-bracket">]</span></span></h2> <p>Portage is a GPLv2 package management system based on <a href="https://en.wikipedia.org/wiki/Ports_collection" class="extiw" title="wikipedia:Ports collection">ports collections</a>. The <a href="/wiki/Project:Package_Manager_Specification" title="Project:Package Manager Specification">Package Manager Specification Project (PMS)</a> standardizes and documents the behavior of Portage so that the Gentoo packages can be managed by other package managers. Some alternative package managers for Gentoo include <a href="/wiki/Paludis" title="Paludis">Paludis</a> and <a href="/wiki/Pkgcore" title="Pkgcore">pkgcore</a>. </p><p>The goal of the Portage project is to provide a seamless integration of developer and user tools to aid the growth and maintenance of Gentoo packages. This means we work not only on Portage itself, but also on associated tools, and on ensuring that our APIs are useful to other tools. </p> <h2><span class="mw-headline" id="Contributing_to_Portage">Contributing to Portage</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=2" class="mw-editsection-visualeditor" title="Edit section: Contributing to Portage">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=2" title="Edit section: Contributing to Portage">edit source</a><span class="mw-editsection-bracket">]</span></span></h2> <p>While there are many ways of contributing to Portage, there are two steps that are common to most of them: <a href="#The_bug_tracker">The bug tracker</a>, and <a href="#The_source_code_repository">The source code repository</a>. In this section we additionally cover testing Portage, and submitting patches to us. </p><p>If you want to discuss anything with us prior to contributing, or want to get in touch for some other reason, see the <a href="#Getting_in_touch">#Getting in touch</a> section. </p><p>If you want ideas on what to work on initially, check our <a href="/wiki/Project:Portage/Ongoing-TODO" title="Project:Portage/Ongoing-TODO">ongoing activities subpage</a>, which includes some low-hanging fruits for newcomers. </p> <h3><span class="mw-headline" id="The_bug_tracker">The bug tracker</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=3" class="mw-editsection-visualeditor" title="Edit section: The bug tracker">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=3" title="Edit section: The bug tracker">edit source</a><span class="mw-editsection-bracket">]</span></span></h3> <p>Gentoo uses the <a rel="nofollow" class="external text" href="https://bugs.gentoo.org">Bugzilla</a> bug tracking system. There is a specific <a rel="nofollow" class="external text" href="https://bugs.gentoo.org/describecomponents.cgi?product=Portage%20Development">Portage Development category</a> where our bugs are filed. Here you can find tonnes of bugs to work on, and you may file your own bugs. If you want to add a new feature or discuss a change you want to make to Portage, you should file a bug here. Before opening a new bug report please make sure that the bug has not already been reported by another user! </p><p>If you are filing a bug based on a problem you found with Portage, please state the following clearly (if they are applicable): </p> <ul><li>How you triggered the bug (commands executed, files edited, ...).</li> <li>What Portage version you used when you found the bug.</li> <li>If the bug is reproducible.</li> <li>The output of the <span style="font-family: monospace; font-size: 95%; font-weight: bold;" class="tripleclick-separator">emerge --info</span> command.</li></ul> <p>If you are looking to suggest a new feature, or discuss some changes to the way Portage works, please make sure to include the following (if applicable): </p> <ul><li>What the motivation for the proposed change.</li> <li>How the proposed change fixes your tangible problem.</li> <li>How the change affects other aspects of Portage.</li> <li>How you think it can be implemented.</li></ul> <p>Please don't get too impatient if there is no immediate reaction to your report. Sometimes it can take a while before a developer has time to look at it (this also applies to non-Portage Gentoo bug reports). Often we'll need additional information from you while trying to resolve a bug, please provide it as soon as you can, if we have to wait too long (over a month) we'll likely close the bug as RESOLVED:NEEDINFO, you can however reopen it when you posted the requested information. </p><p>Please do not reopen bugs unless you're in one of the following situations: </p> <ul><li>The bug was marked as RESOLVED:FIXED, but you can still reproduce it with the new version that is supposed to contain the fix (the version is generally stated when the bug is closed).</li> <li>The bug was marked as RESOLVED:NEEDINFO and you have provided the requested information.</li> <li>The bug was marked as RESOLVED:WONTFIX, RESOLVED:CANTFIX, or RESOLVED:LATER and you think we misunderstood you.</li></ul> <p><b>Do not reopen a bug just because you disagree with our resolution</b>. </p><p>Be aware that we will still read comments on bug reports even if the report itself is closed, so you don't have to reopen it just to get our attention. </p><p>Every bug report deals with one specific problem, please respect that and don't talk about other not directly related issues on a bug report. If you want to discuss a big change to Portage, try first to think about how you can divide the problem into smaller problems in order to file small self-contained reports that can be dealt with independently. </p> <h3><span class="mw-headline" id="The_source_code_repository">The source code repository</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=4" class="mw-editsection-visualeditor" title="Edit section: The source code repository">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=4" title="Edit section: The source code repository">edit source</a><span class="mw-editsection-bracket">]</span></span></h3> <p>The Portage source code is maintained within a <a rel="nofollow" class="external text" href="https://gitweb.gentoo.org/proj/portage.git/">git repository on Gentoo's gitweb</a>. If you are a dev: The main repository is located at <a rel="nofollow" class="external text" href="https://git.gentoo.org/">git+ssh://git@git.gentoo.org/proj/portage.git</a>, please note that it is subject to strict access controls, only people listed in the developers section on this page are able to commit to it. </p><p>For anonymous access please use <a rel="nofollow" class="external text" href="https://anongit.gentoo.org/git/proj/portage.git">our anongit</a>. There is also a <a rel="nofollow" class="external text" href="http://anongit.gentoo.org/git/proj/portage.git">non-HTTPS anongit</a> should you need it. </p><p>We also have a <a rel="nofollow" class="external text" href="https://github.com/gentoo/portage/">GitHub mirror</a>, but note that this is just a mirror, so please do not file issues here unless they pertain to the mirror. Pull requests are accepted and merged to the primary git repository. </p><p>The repository currently contains the following branches (incomplete list): </p> <ul><li>master: the current main development line</li> <li>repoman: repoman rewrite</li> <li>infra: branch used by the <a href="/wiki/Project:Infrastructure" title="Project:Infrastructure">infra team</a> for hotfixes</li></ul> <h3><span class="mw-headline" id="Testing_Portage">Testing Portage</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=5" class="mw-editsection-visualeditor" title="Edit section: Testing Portage">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=5" title="Edit section: Testing Portage">edit source</a><span class="mw-editsection-bracket">]</span></span></h3> <p>We use unit tests for Portage. The details are documented in <a rel="nofollow" class="external text" href="https://gitweb.gentoo.org/proj/portage.git/tree/TEST-NOTES">TEST-NOTES</a>, and to run them you use the <a rel="nofollow" class="external text" href="https://gitweb.gentoo.org/proj/portage.git/tree/runtests">runtests</a> script. You should always make sure that your changes do not introduce any regressions, and the testsuite will help you catch regressions. To make sure there are no regressions on your code in the future, you should write tests for your own code too. </p><p>As of version 2.1.2 of Portage, it is also possible to test multiple versions of Portage. There are various reasons why you'd want to have multiple versions of Portage available at the same time without having to install them as system default. Examples would be to check which versions are affected by a specific bug, to test new features before deploying a new version or have a git checkout available for testing while keeping a stable release for normal operation. </p><p>You can have and use an arbitrary number of Portage installations parallel to each other by adjusting the two environment variables <var>PATH</var> and <var>PYTHONPATH</var>. For example if you have a checkout of the master branch at <span style="font-family: monospace; font-size: 95%">/checkouts/portage</span> you'd set them like this: </p> <div class="gw-box"><div class="box-caption"><span class="label" style="margin-right: .5em; background-color: #204A87">CODE</span> <strong>settings to use portage master branch</strong></div><pre class="captioned">export PYTHONPATH="/checkouts/portage/lib${PYTHONPATH:+:}${PYTHONPATH}" export PATH="/checkouts/portage/bin:${PATH}"</pre></div> <p>With those settings calling tools like <span style="font-family: monospace; font-size: 95%; font-weight: bold;" class="tripleclick-separator">emerge</span>, <span style="font-family: monospace; font-size: 95%; font-weight: bold;" class="tripleclick-separator">repoman</span>, or <span style="font-family: monospace; font-size: 95%; font-weight: bold;" class="tripleclick-separator">ebuild</span> will pickup the correct locations to import libraries. External tools like gentoolkit or porthole may or may not respect those settings. Setting <var>PATH</var> variable is not necessary if the commands are called by their full name (e.g. <span style="font-family: monospace; font-size: 95%">/checkouts/portage/bin/emerge</span> instead of <span style="font-family: monospace; font-size: 95%; font-weight: bold;" class="tripleclick-separator">emerge</span>). </p> <h3><span class="mw-headline" id="Submitting_patches">Submitting patches</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=6" class="mw-editsection-visualeditor" title="Edit section: Submitting patches">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=6" title="Edit section: Submitting patches">edit source</a><span class="mw-editsection-bracket">]</span></span></h3> <p>In order to submit patches, there are a few criteria you'll need to follow. Don't worry, most of them are fairly obvious and simple practical things. The criteria for Portage are documented extensively in our <a rel="nofollow" class="external text" href="https://gitweb.gentoo.org/proj/portage.git/tree/DEVELOPING">DEVELOPING</a> guide. (If you are contributing to something else than Portage, make sure to check if that project has a similar guide.) Here are some highlights: </p> <ul><li>Use tabs.</li> <li>Cap line width at 80.</li> <li>Use if foo is not None rather than if foo&#160;!= None".</li> <li>Avoid has_key.</li> <li>Use raise KeyError("No Key) instead of raise KeyError, "No key".</li> <li>Use one import per line.</li> <li>Python docstrings should conform to the <a rel="nofollow" class="external text" href="http://www.gentoo.org/doc/policies/docstring-spec.xml">Portage Docstring Specification</a>.</li></ul> <p>If you make a significant change (e.g. fix a bug), add it to <a rel="nofollow" class="external text" href="https://gitweb.gentoo.org/proj/portage.git/tree/RELEASE-NOTES">RELEASE-NOTE</a> per that format. If the change is a massive new feature or very important bug fix, also add it to <a rel="nofollow" class="external text" href="https://gitweb.gentoo.org/proj/portage.git/tree/NEWS">NEWS</a> per that format. </p><p>When submitting your changes, you should preferably use git. This is a breeze if you already know git. Make sure your changes are split up into small specific commits with descriptive commit messages that describe what you are changing and why (see <a rel="nofollow" class="external text" href="https://gitweb.gentoo.org/proj/portage.git/tree/DEVELOPING">DEVELOPING</a> for format details), and just <span style="font-family: monospace; font-size: 95%; font-weight: bold;" class="tripleclick-separator">git send-email</span> to <a rel="nofollow" class="external text" href="mailto:gentoo-portage-dev@lists.gentoo.org">gentoo-portage-dev@lists.gentoo.org</a>. </p><p>If you don't know how to use git, see <a href="#Submitting_patches_without_git">Submitting patches without git</a>. </p> <h3><span class="mw-headline" id="Submitting_patches_without_git">Submitting patches without git</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=7" class="mw-editsection-visualeditor" title="Edit section: Submitting patches without git">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=7" title="Edit section: Submitting patches without git">edit source</a><span class="mw-editsection-bracket">]</span></span></h3> <p>If you don't know git, you really should learn at least the basics of git... Try reading the comprehensive yet accessible <a rel="nofollow" class="external text" href="https://www.git-scm.com/book/en/v2">Pro Git</a> book. </p><p>If the patch should somehow be so important that we need it right away, before you have time to learn git, you can try sending an email to <a rel="nofollow" class="external text" href="mailto:gentoo-portage-dev@lists.gentoo.org">gentoo-portage-dev@lists.gentoo.org</a> to which you attach unified diffs. A diff is a file that only contains the changes you've made (and some context), rather than the entire file you have changed something in. You can make unified diffs using <span style="font-family: monospace; font-size: 95%; font-weight: bold;" class="tripleclick-separator"> diff -u</span>. Also include a detailed explanation of what the changes are in the email. Always state against which version or revision and branch the patch was made, as we can't always figure this out for ourself when you haven't used git. </p><p>If the patch is related to a specific bug report, please attach it there as text/plain. If it is not directly related to a bug report (to your knowledge) please send it to the <a rel="nofollow" class="external text" href="mailto:gentoo-portage-dev@lists.gentoo.org">gentoo-portage-dev@lists.gentoo.org</a> mailing list and tag the subject with '[PATCH]'. </p> <h2><span class="mw-headline" id="Current_development_activities">Current development activities</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=8" class="mw-editsection-visualeditor" title="Edit section: Current development activities">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=8" title="Edit section: Current development activities">edit source</a><span class="mw-editsection-bracket">]</span></span></h2> <p>We have a <a href="/wiki/Project:Portage/Ongoing-TODO" title="Project:Portage/Ongoing-TODO">subpage dedicated to current activites</a>, which includes some low-hanging fruits for newcomers. We also keep a <a href="/wiki/Project:Portage/Proposals" title="Project:Portage/Proposals">proposals subpage</a> for big ideas. </p><p>Two major activities at the moment include: </p> <ul><li><a href="/wiki/Project:Portage/Repoman-TODO" title="Project:Portage/Repoman-TODO">A repoman rewrite</a></li> <li><a href="/wiki/Project:Portage/Sync" title="Project:Portage/Sync">A new plug-in sync system</a></li></ul> <h2><span class="mw-headline" id="Getting_in_touch">Getting in touch</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=9" class="mw-editsection-visualeditor" title="Edit section: Getting in touch">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=9" title="Edit section: Getting in touch">edit source</a><span class="mw-editsection-bracket">]</span></span></h2> <p>We have a mailing list we use for for patch submissions and review before it will be included in the main code base. This list is also used for discussion about new directions and features, and just about everything else. </p><p>You must be a list subscriber to send to this list. Please see <a rel="nofollow" class="external text" href="https://gentoo.org/get-involved/mailing-lists/">the Gentoo mailing lists page</a> for how to subscribe. The address of our list is: <a rel="nofollow" class="external text" href="mailto:gentoo-portage-dev@lists.gentoo.org">gentoo-portage-dev@lists.gentoo.org</a>. </p><p>In addition to the mailing list, we have an IRC channel on Libera.Chat: <span style="font-family: monospace; font-size: 95%;"><a rel="nofollow" class="external text" href="ircs://irc.libera.chat/#gentoo-portage">#gentoo-portage</a></span> (<span style="font-family: monospace; font-size: 95%;"><a rel="nofollow" class="external text" href="https://web.libera.chat/#gentoo-portage">webchat</a></span>). This can be used if you want a more synchronous conversation. If nobody's answering, please be patient. If you feel it is urgent, you can try pinging the team lead, zmedico. </p> <h2><span class="mw-headline" id="Portage_project_members">Portage project members</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=10" class="mw-editsection-visualeditor" title="Edit section: Portage project members">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=10" title="Edit section: Portage project members">edit source</a><span class="mw-editsection-bracket">]</span></span></h2> <p>Being a Gentoo developer is a formal requirement to being a Portage project member. The members are listed in the info bar up to the right. However, in addition to the formal members, we have some equally valued contributing members which are not Gentoo developers. </p><p>See the <a href="/wiki/Project:Portage/Membership" title="Project:Portage/Membership">membership subpage</a> for how to become a Portage project member. Of course, you can become a <a rel="nofollow" class="external text" href="https://gentoo.org/get-involved/become-developer/">Gentoo developer</a> too. </p><p>Here is the list of contributing non-Gentoo members: </p> <table class="table table-condensed table-striped"> <tbody><tr> <th>Member</th> <th>Nick</th> <th>Role </th></tr> <tr> <td>Arfrever Frehtes Taifersar Arahesis</td> <td>Arfrever</td> <td>member </td></tr> <tr> <td>Sebastian Luther</td> <td>few</td> <td>member </td></tr></tbody></table> <h2><span class="mw-headline" id="See_also">See also</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=11" class="mw-editsection-visualeditor" title="Edit section: See also">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=11" title="Edit section: See also">edit source</a><span class="mw-editsection-bracket">]</span></span></h2> <p>Resources offered by the Portage project on the wiki include: </p> <h3><span class="mw-headline" id="Subpages">Subpages</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=12" class="mw-editsection-visualeditor" title="Edit section: Subpages">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=12" title="Edit section: Subpages">edit source</a><span class="mw-editsection-bracket">]</span></span></h3> <ul><li><a href="/wiki/Project:Portage/Ongoing-TODO" title="Project:Portage/Ongoing-TODO">Project:Portage/Ongoing-TODO</a></li> <li><a href="/wiki/Project:Portage/Releases-On-PyPi" title="Project:Portage/Releases-On-PyPi">Project:Portage/Releases-On-PyPi</a></li> <li><a href="/wiki/Project:Portage/Repoman-TODO" title="Project:Portage/Repoman-TODO">Project:Portage/Repoman-TODO</a></li> <li><a href="/wiki/Project:Portage/Repoman-Module-specs" title="Project:Portage/Repoman-Module-specs">Project:Portage/Repoman-Module-specs</a></li> <li><a href="/wiki/Project:Portage/Proposals" title="Project:Portage/Proposals">Project:Portage/Proposals</a></li> <li><a href="/wiki/Project:Portage/Meetings" title="Project:Portage/Meetings">Project:Portage/Meetings</a></li> <li><a href="/wiki/Project:Portage/Profiling" title="Project:Portage/Profiling">Project:Portage/Profiling</a></li> <li><a href="/wiki/Project:Portage/Sync" title="Project:Portage/Sync">Portage plug-in sync system specification</a></li> <li><a href="/wiki/Project:Portage/Repository_Verification" class="mw-redirect" title="Project:Portage/Repository Verification">Repository Verification</a></li> <li><a href="/wiki/Project:Portage/Changed_Deps" title="Project:Portage/Changed Deps">Changed Deps</a></li> <li><a href="/wiki/Project:Portage/FAQ" title="Project:Portage/FAQ">Portage Frequently Asked Questions (FAQ)</a></li> <li><a href="/wiki/Project:Portage/Common_problems" title="Project:Portage/Common problems">List of common major Portage problems and solutions</a></li> <li><a href="/wiki/Project:Portage/Fixing_broken_portage" title="Project:Portage/Fixing broken portage">Guide for manually fixing a broken portage install</a></li> <li><a href="/wiki/Project:Portage/Membership" title="Project:Portage/Membership">Membership policies of the Portage project</a></li> <li><a href="/wiki/Project:Portage/Sync/post-rsync-world" title="Project:Portage/Sync/post-rsync-world">A post-rsync syncing world</a></li></ul> <h3><span class="mw-headline" id="Documentation_resources">Documentation resources</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=13" class="mw-editsection-visualeditor" title="Edit section: Documentation resources">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=13" title="Edit section: Documentation resources">edit source</a><span class="mw-editsection-bracket">]</span></span></h3> <p>The following resources are maintained by the <a href="/wiki/Project:Handbook" title="Project:Handbook">Handbook</a> and the <a href="/wiki/Project:Devmanual" title="Project:Devmanual">Devmanual</a> projects respectively. Since they are the primary online documentation for Portage they will be listed here: </p> <h4><span class="mw-headline" id="Handbook_project">Handbook project</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=14" class="mw-editsection-visualeditor" title="Edit section: Handbook project">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=14" title="Edit section: Handbook project">edit source</a><span class="mw-editsection-bracket">]</span></span></h4> <ul><li><a href="/wiki/Handbook:AMD64/Working/Portage" title="Handbook:AMD64/Working/Portage">A Portage Introduction</a></li> <li><a href="/wiki/Handbook:AMD64/Working/Features" title="Handbook:AMD64/Working/Features">Portage Features</a></li> <li><a href="/wiki/Handbook:AMD64/Portage/Files" title="Handbook:AMD64/Portage/Files">Working with Portage</a></li> <li><a href="/wiki/Handbook:AMD64/Working/USE" title="Handbook:AMD64/Working/USE">USE flags</a></li></ul> <h4><span class="mw-headline" id="Devmanual_project">Devmanual project</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=15" class="mw-editsection-visualeditor" title="Edit section: Devmanual project">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=15" title="Edit section: Devmanual project">edit source</a><span class="mw-editsection-bracket">]</span></span></h4> <ul><li><a href="/wiki/Project:ComRel/Developer_Handbook" title="Project:ComRel/Developer Handbook">Developer Handbook</a> - Deprecated. Formerly maintained by the Community Relations project.</li> <li><a rel="nofollow" class="external text" href="https://devmanual.gentoo.org">Gentoo Devmanual</a> - Maintained the <a href="/wiki/Project:Devmanual" title="Project:Devmanual">Devmanual project</a>, a child project of the <a href="/wiki/Project:Quality_Assurance" title="Project:Quality Assurance">QA project</a>.</li></ul> <h2><span class="mw-headline" id="External_resources">External resources</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/index.php?title=Project:Portage&amp;veaction=edit&amp;section=16" class="mw-editsection-visualeditor" title="Edit section: External resources">edit</a><span class="mw-editsection-divider"> | </span><a href="/index.php?title=Project:Portage&amp;action=edit&amp;section=16" title="Edit section: External resources">edit source</a><span class="mw-editsection-bracket">]</span></span></h2> <ul><li><a rel="nofollow" class="external text" href="https://travis-ci.org/gentoo/portage">Travis-CI.org Portage testing</a> (Travis CI).</li> <li><a rel="nofollow" class="external text" href="http://www.gentoo.org/proj/en/portage/doc/policies/docstring-spec.xml">Portage docstring-spec</a></li> <li><a rel="nofollow" class="external text" href="http://www.gentoo.org/proj/en/portage/doc/policies/bugzilla.xml">Bugzilla policies</a></li> <li><a rel="nofollow" class="external text" href="http://www.gentoo.org/proj/en/portage/doc/policies/release.xml">Release policies</a></li> <li><a rel="nofollow" class="external text" href="http://dev.gentoo.org/~zmedico/portage/doc/">Portage documentation</a> (generated from docbook)</li> <li><a rel="nofollow" class="external text" href="http://dev.gentoo.org/~zmedico/portage/doc/api/">Portage API documentation</a> (generated with epydoc)</li> <li><a rel="nofollow" class="external text" href="https://raw.githubusercontent.com/gentoo/portage/master/NEWS">Portage NEWS file</a> (lists new features)</li> <li><a rel="nofollow" class="external text" href="https://raw.githubusercontent.com/gentoo/portage/master/RELEASE-NOTES">Portage RELEASE-NOTES file</a> (lists upgrade information)</li> <li>The <span style="font-family: monospace; font-size: 95%;"><a rel="nofollow" class="external text" href="ircs://irc.libera.chat/#gentoo-portage">#gentoo-portage</a></span> (<span style="font-family: monospace; font-size: 95%;"><a rel="nofollow" class="external text" href="https://web.libera.chat/#gentoo-portage">webchat</a></span>) IRC channel on Libera.Chat.</li> <li><a rel="nofollow" class="external text" href="https://archives.gentoo.org/gentoo-portage-dev/">gentoo-portage-dev mailing list</a></li> <li><a rel="nofollow" class="external text" href="https://packages.gentoo.org/packages/sys-apps/portage">sys-apps/portage</a> package</li> <li><a rel="nofollow" class="external text" href="https://github.com/gentoo/portage">Portage GIT repository mirror</a> (GitHub mirror)</li> <li><a rel="nofollow" class="external text" href="http://bugs.gentoo.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=exact&amp;email1=dev-portage%40gentoo.org&amp;keywords_type=nowords&amp;keywords=InVCS+InSVN">Open bugs assigned to the dev-portage alias</a></li> <li><a rel="nofollow" class="external text" href="http://bugs.gentoo.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=exact&amp;email1=pms-bugs%40gentoo.org">Open bugs assigned to the pms-bugs alias</a></li> <li><a rel="nofollow" class="external text" href="http://bugs.gentoo.org/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailassigned_to1=1&amp;emailtype1=exact&amp;email1=tools-portage%40gentoo.org">Open bugs assigned to the tools-portage alias</a></li></ul> <hr /><p><small>This page is based on a document formerly found on our main website <a rel="nofollow" class="external text" href="https://www.gentoo.org/">gentoo.org</a>. <br />The following people contributed to the original document: <b>carpaski, genone</b><br /><span style="color: #555;">They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do <b>not</b> add yourself here; your contributions are recorded on each article's associated history page.</span></small></p> '
Unix timestamp of change (timestamp)
1628098248