diff options
author | Alexander Koskovich <akoskovich@pm.me> | 2022-03-06 15:51:51 -0700 |
---|---|---|
committer | alk3pInjection <webmaster@raspii.tech> | 2022-05-02 12:00:45 +0800 |
commit | 6cbe0c30150357b131d6c09d7729c5f9cf7b0daa (patch) | |
tree | 8debe48b360cb1195c012f303a9ca57fed04f984 /init/service_parser.cpp | |
parent | 5936b4ce1cb121cffe64a76e7313a8208dc99038 (diff) |
init: Skip interface duplicates if service is an override
These aren't actually duplicate interfaces because we
are overriding the service so interfaces in the original
definition will never be used.
Test: Verify 'm dist' works without complaining about
duplicate interfaces.
Change-Id: Iab5e1d8bb4cb7d5b2608028c3cee73af94c47424
Diffstat (limited to 'init/service_parser.cpp')
-rw-r--r-- | init/service_parser.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/init/service_parser.cpp b/init/service_parser.cpp index 57c311a52..35bd41596 100644 --- a/init/service_parser.cpp +++ b/init/service_parser.cpp @@ -202,7 +202,7 @@ Result<void> ServiceParser::ParseInterface(std::vector<std::string>&& args) { const std::string fullname = interface_name + "/" + instance_name; for (const auto& svc : *service_list_) { - if (svc->interfaces().count(fullname) > 0) { + if (svc->interfaces().count(fullname) > 0 && !service_->is_override()) { return Error() << "Interface '" << fullname << "' redefined in " << service_->name() << " but is already defined by " << svc->name(); } |