The problem seems to relate to the original "build_policy" patch and not
the dae746f7 one. Do you have the mac_permissions.xml file listed multiple
times in your makefiles that use the same BOARD_SEPOLICY_DIRS var? We
probably need to augment the "build_policy" or "sepolicy_replace_paths"
functions in external/sepolicy/Android.mk to ensure that we catch this
case. Either use a "sort" on the final assignment of the var or explicitly
add another conditional to error out.


On Thu, Jan 3, 2013 at 5:33 PM, William Roberts <[email protected]>wrote:

> On Thu, Jan 3, 2013 at 2:15 PM, Robert Craig <[email protected]>
> wrote:
> > If you remove the '$@' (the name of the target of the rule which is also
> the
> > name of the output file for the insertkeys script) then the script will
> > error out before it even starts for your highlighted case. The script
> needs
> > positional arguments that specify both the config_file (key
> substitutions)
> > and 1 or more mac_permission.xml files. If a mac_permissions.xml file is
> > specified using BOARD_SEPOLICY_REPLACE then you should get your desired
> > result (transparently handled by the ''build_policy" makefile function in
> > external/sepolicy/Android.mk). If you include multiple
> mac_permissions.xml
> > files via the BOARD_SEPOLICY_UNION construct then a union occurs (again,
> > transparently handled by the same ''build_policy" makefile function). The
> > $(ALL_MAC_PERMS_FILES) contains the result of the "build_policy" function
> > call which is then used to put positional arguments into insertkeys.py.
> But
> > it should not be used as the desired output file like your example.
> >
> >  > insertkeys.py -h
> >  Usage: insertkeys.py [options] CONFIG_FILE MAC_PERMISSIONS_FILE
> > [MAC_PERMISSIONS_FILE...]
> >  This tool allows one to configure an automatic inclusion
> >  of signing keys into the mac_permision.xml file(s) from the
> >  pem files. If mulitple mac_permision.xml files are included
> >  then they are unioned to produce a final version.
> >
> >  Options:
> >    --version             show program's version number and exit
> >    -h, --help            show this help message and exit
> >    -v, --verbose         Print internal operations to stdout
> >    -o FILE, --output=FILE
> >                          Specify an output file, default is stdout
> >    -c DIR, --cwd=DIR     Specify a root (CWD) directory to run this from,
> >                          itchdirs' AFTER loading the config file
> >    -t TARGET_BUILD_VARIANT, --target-build-variant=TARGET_BUILD_VARIANT
> >                          Specify the TARGET_BUILD_VARIANT, defaults to
> eng
> >
> >
> >
> > On Thu, Jan 3, 2013 at 4:26 PM, William Roberts <
> [email protected]>
> > wrote:
> >>
> >> The aforementioned commit introduces:
> >>
> >> -       $(HOST_OUT_EXECUTABLES)/insertkeys.py -t $(TARGET_BUILD_VARIANT)
> >> -c
> >> $(ANDROID_BUILD_TOP) $(mac_perms_keys.tmp) -o $@ $<
> >> +       $(hide) $(HOST_OUT_EXECUTABLES)/insertkeys.py -t
> >> $(TARGET_BUILD_VARIANT) -c $(ANDROID_BUILD_TOP) $< -o $@
> >> $(ALL_MAC_PERMS_FILES)
> >>
> >> Shouldn't it be
> >> +       $(hide) $(HOST_OUT_EXECUTABLES)/insertkeys.py -t
> >> $(TARGET_BUILD_VARIANT) -c $(ANDROID_BUILD_TOP) $< -o
> >> $(ALL_MAC_PERMS_FILES)
> >>
> >> I am seeing multiple errant input files to the insertkeys script, when
> >> I just want a replace.
> >>
> >> --
> >> Respectfully,
> >>
> >> William C Roberts
> >>
> >> --
> >> This message was distributed to subscribers of the seandroid-list
> mailing
> >> list.
> >> If you no longer wish to subscribe, send mail to
> [email protected]
> >> with
> >> the words "unsubscribe seandroid-list" without quotes as the message.
> >
> >
>
> Hmm misread the line, then the $(ALL_MAC_PERMS_FILES) is expanding to
> multiple definitions of all the same file.
>
> --
> Respectfully,
>
> William C Roberts
>

Reply via email to