[PATCH RESEND 2/4] lib/portage/package/ebuild/_config/LicenseManager.py: Read per-profile package.license

Louis Chauvet <[email protected]> Wed, 17 Dec 2025 08:10:13 +0100
Newsgroups gmane.linux.gentoo.portage.devel
Message-ID <20251217-add_package_license_to_profiles-v1-2-4bf9be62e3d9@bootlin.com>
Currently the only way to unmask license in profile is to use the LICENSE
variable in make.defaults. This may be acceptable for "unique" licenses
(linux-fw-redistributable, only used by one package), but not practical for
"generic" licenses.

Read profile-specific package.license in LicenseManager so per-profile
per-pacakge license can be configured.

Suggested-by: Sam James <[email protected]>
Signed-off-by: Louis Chauvet <[email protected]>
---
 lib/portage/package/ebuild/_config/LicenseManager.py | 2 ++
 man/portage.5                                        | 1 +
 2 files changed, 3 insertions(+)

diff --git a/lib/portage/package/ebuild/_config/LicenseManager.py b/lib/portage/package/ebuild/_config/LicenseManager.py
index c59fff6ea4f2..f515740071a7 100644
--- a/lib/portage/package/ebuild/_config/LicenseManager.py
+++ b/lib/portage/package/ebuild/_config/LicenseManager.py
@@ -28,6 +28,8 @@ class LicenseManager:
         self._read_license_groups(license_group_locations)
 
         if user_config:
+            for profile in locations_manager.profiles:
+                self._read_user_config(profile)
             self._read_user_config(locations_manager.abs_user_config)
 
     def _read_user_config(self, abs_user_config):
diff --git a/man/portage.5 b/man/portage.5
index d7b2063e0fc2..787fc18e1a9f 100644
--- a/man/portage.5
+++ b/man/portage.5
@@ -26,6 +26,7 @@ packages.build
 package.accept_keywords
 package.bashrc
 package.keywords
+package.license
 package.mask
 package.provided
 package.unmask

-- 
2.51.2