Print this page
9726 solaris.py needs to use new service for /etc/security/*attr files in build 118

Split Close
Expand all
Collapse all
          --- old/src/util/distro-import/solaris.py
          +++ new/src/util/distro-import/solaris.py
↓ open down ↓ 443 lines elided ↑ open up ↑
 444  444          else:
 445  445                  for each_path in wos_path:
 446  446                          if os.path.exists(each_path + "/" + pkgname):
 447  447                                  pkgpaths[name] = each_path + "/" + pkgname
 448  448                                  return pkgpaths[name]
 449  449  
 450  450                  raise RuntimeError("package %s not found" % pkgname)
 451  451  
 452  452  
 453  453  def start_package(pkgname):
      454 +        set_macro("PKGNAME", urllib.quote(pkgname, ""))
 454  455          return package(pkgname)
 455  456  
 456  457  def end_package(pkg):
 457  458          pkg_branch = get_branch(pkg.name)
 458  459          if not pkg.version:
 459  460                  pkg.version = "%s-%s" % (def_vers, pkg_branch)
 460  461          elif "-" not in pkg.version:
 461  462                  pkg.version += "-%s" % pkg_branch
 462  463  
      464 +        clear_macro("PKGNAME")
 463  465          print "Package '%s'" % pkg.name
 464  466          print "  Version:", pkg.version
 465  467          print "  Description:", pkg.desc
 466  468          print "  Summary:", pkg.summary
 467  469          print "  Classification: ", ",".join(pkg.classification)
 468  470  
 469  471  def publish_pkg(pkg):
 470  472  
 471  473          new_pkg_name = "%s@%s" % (pkg.name, pkg.version)
 472  474          t = trans.Transaction(def_repo, create_repo=create_repo,
↓ open down ↓ 530 lines elided ↑ open up ↑
1003 1005  #
1004 1006  summary_detritus = [", (usr)", ", (root)", " (usr)", " (root)",
1005 1007  " (/usr)", " - / filesystem", ",root(/)"]
1006 1008  #
1007 1009  # list of global includes to add to every package
1008 1010  #
1009 1011  global_includes = []
1010 1012  # list of macro substitutions
1011 1013  macro_definitions = {}
1012 1014  
     1015 +def set_macro(key, value):
     1016 +        macro_definitions.update([("$(%s)" % key, value)])
     1017 +
     1018 +def clear_macro(key):
     1019 +        del macro_definitions["$(%s)" % key]
     1020 +
1013 1021  try:
1014 1022          _opts, _args = getopt.getopt(sys.argv[1:], "B:D:I:G:NT:b:dj:m:ns:v:w:p:")
1015 1023  except getopt.GetoptError, _e:
1016 1024          print "unknown option", _e.opt
1017 1025          sys.exit(1)
1018 1026  
1019 1027  g_proto_area = os.environ.get("ROOT", "")
1020 1028  
1021 1029  for opt, arg in _opts:
1022 1030          if opt == "-b":
1023 1031                  def_branch = arg.rstrip("abcdefghijklmnopqrstuvwxyz")
1024 1032          elif opt == "-d":
1025 1033                  show_debug = True
1026 1034          elif opt == "-j": # means we're using the new argument form...
1027 1035                  just_these_pkgs.append(arg)
1028 1036          elif opt == "-m":
1029 1037                  _a = arg.split("=", 1)
1030      -                macro_definitions.update([("$(%s)" % _a[0], _a[1])])
     1038 +                set_macro(_a[0], _a[1])
1031 1039          elif opt == "-n":
1032 1040                  nopublish = True
1033 1041          elif opt == "-p":
1034 1042                  if not os.path.exists(arg):
1035 1043                          raise RuntimeError("Invalid prototype area specified.")
1036 1044                  # Clean up relative ../../, etc. out of path to proto
1037 1045                  g_proto_area = os.path.realpath(arg)
1038 1046          elif  opt == "-s":
1039 1047                  def_repo = arg
1040 1048                  if def_repo.startswith("file://"):
↓ open down ↓ 440 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX