 
APT or RPMPkgDMGApp InstallerDefine & Structure the 3 name-spaces without name clashing
Owner + 2 Levels of hierarchy + your_Unit_nameyour_Unit_name + your_Crate short_namefile short namePkg short name must be unique through all packagesOwner - Pkg1 - Pkg2 - Component 
Note:
Owner.Pkg1.Pkg2.Component (API Unit)Owner.Pkg1.Pkg2.Component.*Owner.Pkg1.Pkg2.Component_* (for high-level dependencies)Owner _ Pkg1 _ Pkg2 _ Component _ * (main public programs)pkg1 / pkg2 / component / ownepkg1pkg2compownerowner / pkg1owner / pkg1 / pkg2= ownepkg1pkg2comp
Note: How to hash the short name :
$ gnatkr owner_pkg1_pkg2_component  16
> ownepkg1pkg2comp
. .
./ alire .toml file :
name = "OwnePkg1Pkg2Comp"./tests/ alire .toml
name = "OwnePkg1Pkg2Comp_Tests"./ ownepkg1pkg2comp .gpr./bld :
./bld/ownepkg1pkg2comp .gpr./bld/ownepkg1pkg2comp-lib .gpr./bld/ownepkg1pkg2comp-lib-tests .gpr./bld/ownepkg1pkg2comp-main .gprProject artefacts are stored in
pkg1 / ownepkg1pkg2compRecommanded dir-folder name =
component short name =
ownepkg1pkg2comp
./src./tests./bld./build./.
alire.tomlMakefileowner_pkg1_pkg2_component.gpr./features./doc./design./resources./LICENSESREADME.mdNOTICE.mdTODO.mdROADMAP.md./src/lib./src/main./tests/main ./tests/data./src/lib/sub/**./src/main/sub/**./tests/main/sub/**./bld (no Alire ./config)So we have to set:
name = "ownepkg1pkg2comp"
project-files = ["bld/ownepkg1pkg2comp-lib.gpr"]
[build-profiles]
ownepkg1pkg2comp = "Development"
[configuration]
auto_gpr_with = false
output_dir = "bld"
name = "ownepkg1pkg2comp_tests"
project-files = ["../bld/ownepkg1pkg2comp-lib-tests.gpr"]
[build-profiles]
ownepkg1pkg2comp_tests = "Development"
ownepkg1pkg2comp = "Validation"
sterndevttestunit = "Release"
[configuration]
auto_gpr_with = false
output_dir = "../bld"
[[depends-on]]
ownepkg1pkg2comp = "*"
sterndevttestunit = ">=3.9.0"
[[pins]]
ownepkg1pkg2comp = { path='..' }
aggregate project ownepkg1pkg2comp is
-- Dependencies
   for Project_Path use (
         --:TODO "../name_of_copyright_owner/bld",
         --:TODO "../name_of_copyright_owner_pkg1/bld",
         --:TODO "../name_of_copyright_owner_pkg1_pkg2/bld",
         "../sterdevttestunit/bld",                                      -- Unit Test framework
         "../other_pkgx_pkgy_somelibdependency",      -- some lib dependency
         "../another_pkgx_pkgy_otherlibdependency",   -- some lib dependency
         "bld");
-- Parts to be built
   for Project_Files use (
         "bld/ownepkg1pkg2comp-lib.gpr",
         "bld/ownepkg1pkg2comp-lib-tests.gpr",
         "bld/ownepkg1pkg2comp-main.gpr",
         "bld/ownepkg1pkg2comp-main-tests.gpr");
  
end ownepkg1pkg2comp;
EEC GDPR compliant