@@ -661,8 +661,10 @@ async fn post_build_processing(
661661 // Sanitize package name for OCI compatibility (e.g., c++filt -> c-filt)
662662 let sanitized_pkg_name = sanitize_oci_name ( pkg_name_dir) ;
663663 // Use ghcr_pkg if specified, otherwise use auto-generated path
664+ // Extract owner from base_repo (first path component)
665+ let owner = base_repo. split ( '/' ) . next ( ) . unwrap_or ( base_repo) ;
664666 let full_repo = if let Some ( ref custom_base) = metadata. ghcr_pkg {
665- format ! ( "{}/{}" , custom_base, sanitized_pkg_name)
667+ format ! ( "{}/{}/{}" , owner , custom_base, sanitized_pkg_name)
666668 } else {
667669 format ! ( "{}/{}/{}/{}" , base_repo, pkg_family, recipe_name, sanitized_pkg_name)
668670 } ;
@@ -785,8 +787,10 @@ async fn post_build_processing(
785787 for binary_name in & binaries_to_push {
786788 // Sanitize binary name for OCI compatibility
787789 let sanitized_binary_name = sanitize_oci_name ( binary_name) ;
790+ // Extract owner from base_repo (first path component)
791+ let owner = base_repo. split ( '/' ) . next ( ) . unwrap_or ( base_repo) ;
788792 let full_repo = if let Some ( ref custom_base) = metadata. ghcr_pkg {
789- format ! ( "{}/{}" , custom_base, sanitized_binary_name)
793+ format ! ( "{}/{}/{}" , owner , custom_base, sanitized_binary_name)
790794 } else {
791795 format ! ( "{}/{}/{}/{}" , base_repo, pkg_family, recipe_name, sanitized_binary_name)
792796 } ;
0 commit comments