@@ -597,11 +597,14 @@ def apply_specs(self, include_list, exclude_list):
597
597
:param include_list: a list of specs for inclusion
598
598
:param exclude_list: a list of specs for exclusion
599
599
"""
600
- comps_excludes = []
600
+ environment_excludes = []
601
+ group_excludes = []
601
602
package_excludes = []
602
603
for spec in exclude_list :
603
- if spec .startswith ("@" ):
604
- comps_excludes .append (spec [1 :])
604
+ if spec .startswith ("@^" ):
605
+ environment_excludes .append (spec [2 :])
606
+ elif spec .startswith ("@" ):
607
+ group_excludes .append (spec [1 :])
605
608
else :
606
609
package_excludes .append (spec )
607
610
@@ -610,13 +613,16 @@ def apply_specs(self, include_list, exclude_list):
610
613
excludes .filter_name (package_excludes , libdnf5 .common .QueryCmp_GLOB )
611
614
self ._base .get_rpm_package_sack ().add_user_excludes (excludes )
612
615
613
- log .info ("Excluding comps specs: %s" , comps_excludes )
614
616
comps_sack = self ._base .get_comps_sack ()
617
+
618
+ log .info ("Excluding environment specs: %s" , environment_excludes )
615
619
excludes = libdnf5 .comps .EnvironmentQuery (self ._base )
616
- excludes .filter_environmentid (comps_excludes , libdnf5 .common .QueryCmp_GLOB )
620
+ excludes .filter_environmentid (environment_excludes , libdnf5 .common .QueryCmp_GLOB )
617
621
comps_sack .add_user_environment_excludes (excludes )
622
+
623
+ log .info ("Excluding group specs: %s" , group_excludes )
618
624
excludes = libdnf5 .comps .GroupQuery (self ._base )
619
- excludes .filter_groupid (comps_excludes , libdnf5 .common .QueryCmp_GLOB )
625
+ excludes .filter_groupid (group_excludes , libdnf5 .common .QueryCmp_GLOB )
620
626
comps_sack .add_user_group_excludes (excludes )
621
627
622
628
log .info ("Including specs: %s" , include_list )
0 commit comments