+
+ if pubkeys_install:
+ pa=self.pubkeys_path()
+ pw=open(pa+'~tmp','w')
+ if 'serial' in self.properties:
+ pw.write('serial %s\n' %
+ self.properties['serial'])
+ else:
+ outk = []
+
+ fs=FilterState()
+ for k in self.properties["pub"].list:
+ debugrepr('pubkeys ', k)
+ if pubkeys_install:
+ wout=k.forpub(output_version,fs)
+ pw.write(' '.join(wout))
+ pw.write('\n')
+ else:
+ if k.okforonlykey(output_version,fs):
+ outk.append(k)
+
+ if pubkeys_install:
+ pw.close()
+ os.rename(pa+'~tmp',pa+'~update')
+ w.write("peer-keys \"%s\";\n"%pa);
+ else:
+ if len(outk) == 0:
+ complain("site with no public key");
+ elif len(outk) != 1:
+ debugrepr('outk ', outk)
+ complain(
+ "site with multiple public keys, without --pubkeys-install (maybe --output-version=1 would help"
+ )
+ else:
+ w.write("key %s;\n"%str(k))
+