本文整理汇总了Golang中github.com/snapcore/snapd/snap.Info.NeedsClassic方法的典型用法代码示例。如果您正苦于以下问题:Golang Info.NeedsClassic方法的具体用法?Golang Info.NeedsClassic怎么用?Golang Info.NeedsClassic使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/snapcore/snapd/snap.Info
的用法示例。
在下文中一共展示了Info.NeedsClassic方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: runSnapConfine
func runSnapConfine(info *snap.Info, securityTag, snapApp, command, hook string, args []string) error {
if err := createUserDataDirs(info); err != nil {
logger.Noticef("WARNING: cannot create user data directory: %s", err)
}
cmd := []string{
filepath.Join(dirs.LibExecDir, "snap-confine"),
}
if info.NeedsClassic() {
cmd = append(cmd, "--classic")
}
cmd = append(cmd, securityTag)
cmd = append(cmd, filepath.Join(dirs.LibExecDir, "snap-exec"))
if command != "" {
cmd = append(cmd, "--command="+command)
}
if hook != "" {
cmd = append(cmd, "--hook="+hook)
}
// snap-exec is POSIXly-- options must come before positionals.
cmd = append(cmd, snapApp)
cmd = append(cmd, args...)
return syscallExec(cmd[0], cmd, snapenv.ExecEnv(info))
}
示例2: userEnv
// userEnv returns the user-level environment variables for a snap.
// Despite this being a bit snap-specific, this is in helpers.go because it's
// used by so many other modules, we run into circular dependencies if it's
// somewhere more reasonable like the snappy module.
func userEnv(info *snap.Info, home string) map[string]string {
result := map[string]string{
"SNAP_USER_COMMON": info.UserCommonDataDir(home),
"SNAP_USER_DATA": info.UserDataDir(home),
"XDG_RUNTIME_DIR": info.UserXdgRuntimeDir(os.Geteuid()),
}
// For non-classic snaps, we set HOME but on classic allow snaps to see real HOME
if !info.NeedsClassic() {
result["HOME"] = info.UserDataDir(home)
}
return result
}