From fe2caefcaa1ece2e7b163741184c3fc834440a48 Mon Sep 17 00:00:00 2001 From: ToshikazuOhiwa Date: Mon, 30 Mar 2020 09:31:31 +0900 Subject: ns-backupmanager branch --- backup_manager/config/Makefile | 43 + backup_manager/config/backup.rng | 123 +++ backup_manager/config/conf/backup/ALL_.xml | 1201 ++++++++++++++++++++++++++ backup_manager/config/conf/backup/backup.xml | 278 ++++++ backup_manager/config/createhdr.pl | 84 ++ backup_manager/config/sample.xml | 23 + backup_manager/config/uniqcheck.pl | 46 + 7 files changed, 1798 insertions(+) create mode 100644 backup_manager/config/Makefile create mode 100644 backup_manager/config/backup.rng create mode 100644 backup_manager/config/conf/backup/ALL_.xml create mode 100644 backup_manager/config/conf/backup/backup.xml create mode 100755 backup_manager/config/createhdr.pl create mode 100644 backup_manager/config/sample.xml create mode 100755 backup_manager/config/uniqcheck.pl (limited to 'backup_manager/config') diff --git a/backup_manager/config/Makefile b/backup_manager/config/Makefile new file mode 100644 index 00000000..e669699a --- /dev/null +++ b/backup_manager/config/Makefile @@ -0,0 +1,43 @@ +# +# @copyright Copyright (c) 2017-2019 TOYOTA MOTOR CORPORATION. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +XML_PATH := ./conf/backup +RNG_FILE := backup.rng +ALL_XML := ALL_.xml +ID_HEADER := ns_backup_id.h +BACKUP_XML := backup.xml + +######### headers to be installed(*.h) ############# +INST_HEADERS := $(ID_HEADER) + +######### make rule ############# +all: $(ID_HEADER) + +$(ID_HEADER): $(XML_PATH)/$(ALL_XML) + @set -e; \ + for xml_file in `find $(XML_PATH) -name \*.xml | grep -v $(ALL_XML)`; do \ + xmllint --noout --relaxng $(RNG_FILE) $$xml_file; \ + ./uniqcheck.pl $$xml_file; \ + done + ./createhdr.pl $(XML_PATH)/$(ALL_XML) > $(ID_HEADER) + +CLEAN_FILES := $(ID_HEADER) + +install: $(XML_PATH)/$(BACKUP_XML) + install -m 0755 -d $(DESTDIR)/usr/agl/conf/backup_manager + install -m 0644 $(XML_PATH)/$(BACKUP_XML) $(DESTDIR)/usr/agl/conf/backup_manager/$(BACKUP_XML) + +include ../../native_service.mk diff --git a/backup_manager/config/backup.rng b/backup_manager/config/backup.rng new file mode 100644 index 00000000..6c9822b3 --- /dev/null +++ b/backup_manager/config/backup.rng @@ -0,0 +1,123 @@ + + + + + + 64 + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + false + + + + + + + false + + + + + + + false + + + + + + + + + + + + true + + + + + + false + + + + + + + false + + + + + + + false + + + + + + + + + + + + + 64 + + + + + 32767 + + + + + + + + + + diff --git a/backup_manager/config/conf/backup/ALL_.xml b/backup_manager/config/conf/backup/ALL_.xml new file mode 100644 index 00000000..7149b795 --- /dev/null +++ b/backup_manager/config/conf/backup/ALL_.xml @@ -0,0 +1,1201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backup_manager/config/conf/backup/backup.xml b/backup_manager/config/conf/backup/backup.xml new file mode 100644 index 00000000..68e1d685 --- /dev/null +++ b/backup_manager/config/conf/backup/backup.xml @@ -0,0 +1,278 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backup_manager/config/createhdr.pl b/backup_manager/config/createhdr.pl new file mode 100755 index 00000000..73102d71 --- /dev/null +++ b/backup_manager/config/createhdr.pl @@ -0,0 +1,84 @@ +#!/usr/bin/perl +use strict; +use warnings; + +sub getlist($$) +{ + my $xmlfile = shift(@_); + my $xpath = shift(@_); + + $xmlfile =~ s/([\[\]\*\(\)])/\\$1/g; + + open(my $rs, "xmllint --xpath \"$xpath\" $xmlfile |") or die "Cannot open $xmlfile:$!"; + my $result = join('', <$rs>); + close $rs; + $result =~ s/^ +//; + my @result_array = split(/ +/, $result); + return @result_array; +} + +if ($#ARGV < 0 || !(-f $ARGV[0])) { + print "No such file or directory.\n"; + exit 1; +} + +my @item_array = getlist($ARGV[0], '//item/@name'); + +print<<'HEADER'; +/* + * @copyright Copyright (c) 2017-2019 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * @file ns_backup_id.h + * @brief backup id define + */ + +#ifndef BACKUP_MANAGER_CONFIG_NS_BACKUP_ID_H_ +#define BACKUP_MANAGER_CONFIG_NS_BACKUP_ID_H_ + +/** @addtogroup BaseSystem + * @{ + */ +/** @addtogroup native_service + * @ingroup BaseSystem + * @{ + */ +/** @addtogroup backup_manager + * @ingroup native_service + * @{ + */ + +HEADER + +foreach my $item (@item_array) { + if ($item =~ /^name="(.+)"$/) { + printf("#define %s \"%s\"\n", $1, $1); + } + else { + print "Invalid input:$item\n"; + exit 1; + } +} + +print<<'FOOTER'; + +/**@}*/ // end of backup_manager +/**@}*/ // end of native_service +/**@}*/ // end of BaseSystem + +#endif // BACKUP_MANAGER_CONFIG_NS_BACKUP_ID_H_ +FOOTER + +0; diff --git a/backup_manager/config/sample.xml b/backup_manager/config/sample.xml new file mode 100644 index 00000000..cbf6c7ae --- /dev/null +++ b/backup_manager/config/sample.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backup_manager/config/uniqcheck.pl b/backup_manager/config/uniqcheck.pl new file mode 100755 index 00000000..1470d7c8 --- /dev/null +++ b/backup_manager/config/uniqcheck.pl @@ -0,0 +1,46 @@ +#!/usr/bin/perl +use strict; +use warnings; + +my @checkxpath = ('//item/@name', '//item/@id', '//category/@name'); + +sub uniqcheck($$) +{ + my $xpath = shift(@_); + my $list = shift(@_); + my %u = (); + foreach my $key (@{$list}) { + if (exists($u{$key})) { + print "detect duplicate $xpath $key\n"; + exit 1; + } + $u{$key} = 1; + } +} + +sub getlist($$) +{ + my $xmlfile = shift(@_); + my $xpath = shift(@_); + + $xmlfile =~ s/([\[\]\*\(\)])/\\$1/g; + + open(my $rs, "xmllint --xpath \"$xpath\" $xmlfile |") or die "Cannot open $xmlfile:$!"; + my $result = join('', <$rs>); + close $rs; + $result =~ s/^ +//; + my @result_array = split(/ +/, $result); + return @result_array; +} + +if ($#ARGV < 0 || !(-f $ARGV[0])) { + print "No such file or directory.\n"; + exit 1; +} + +foreach my $xpath (@checkxpath) { + my @result_array = getlist($ARGV[0], $xpath); + uniqcheck($xpath, \@result_array); +} + +0; -- cgit 1.2.3-korg