fix(i18n): pass LANG vars to _internal
This commit is contained in:
		
							
								
								
									
										40
									
								
								pkg/build/safe_common.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								pkg/build/safe_common.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | |||||||
|  | // ALR - Any Linux Repository | ||||||
|  | // Copyright (C) 2025 Евгений Храмов | ||||||
|  | // | ||||||
|  | // This program is free software: you can redistribute it and/or modify | ||||||
|  | // it under the terms of the GNU General Public License as published by | ||||||
|  | // the Free Software Foundation, either version 3 of the License, or | ||||||
|  | // (at your option) any later version. | ||||||
|  | // | ||||||
|  | // This program is distributed in the hope that it will be useful, | ||||||
|  | // but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  | // GNU General Public License for more details. | ||||||
|  | // | ||||||
|  | // You should have received a copy of the GNU General Public License | ||||||
|  | // along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  |  | ||||||
|  | package build | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"os" | ||||||
|  | 	"os/exec" | ||||||
|  | 	"strings" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | func setCommonCmdEnv(cmd *exec.Cmd) { | ||||||
|  | 	cmd.Env = []string{ | ||||||
|  | 		"HOME=/var/cache/alr", | ||||||
|  | 		"LOGNAME=alr", | ||||||
|  | 		"USER=alr", | ||||||
|  | 		"PATH=/usr/bin:/bin:/usr/local/bin", | ||||||
|  | 	} | ||||||
|  | 	for _, env := range os.Environ() { | ||||||
|  | 		if strings.HasPrefix(env, "LANG=") || | ||||||
|  | 			strings.HasPrefix(env, "LANGUAGE=") || | ||||||
|  | 			strings.HasPrefix(env, "LC_") || | ||||||
|  | 			strings.HasPrefix(env, "ALR_LOG_LEVEL=") { | ||||||
|  | 			cmd.Env = append(cmd.Env, env) | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | } | ||||||
| @@ -90,28 +90,7 @@ func GetSafeInstaller() (InstallerExecutor, func(), error) { | |||||||
| 		return nil, nil, err | 		return nil, nil, err | ||||||
| 	} | 	} | ||||||
| 	cmd := exec.Command(executable, "_internal-installer") | 	cmd := exec.Command(executable, "_internal-installer") | ||||||
| 	cmd.Env = []string{ | 	setCommonCmdEnv(cmd) | ||||||
| 		"HOME=/var/cache/alr", |  | ||||||
| 		"LOGNAME=alr", |  | ||||||
| 		"USER=alr", |  | ||||||
| 		"PATH=/usr/bin:/bin:/usr/local/bin", |  | ||||||
| 		"ALR_LOG_LEVEL=DEBUG", |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	/* |  | ||||||
| 		uid, gid, err := utils.GetUidGidAlrUser() |  | ||||||
| 		if err != nil { |  | ||||||
| 			return nil, nil, err |  | ||||||
| 		} |  | ||||||
|  |  | ||||||
|  |  | ||||||
| 			cmd.SysProcAttr = &syscall.SysProcAttr{ |  | ||||||
| 				Credential: &syscall.Credential{ |  | ||||||
| 					Uid: uint32(uid), |  | ||||||
| 					Gid: uint32(gid), |  | ||||||
| 				}, |  | ||||||
| 			} |  | ||||||
| 	*/ |  | ||||||
|  |  | ||||||
| 	slog.Debug("safe installer setup", "uid", syscall.Getuid(), "gid", syscall.Getgid()) | 	slog.Debug("safe installer setup", "uid", syscall.Getuid(), "gid", syscall.Getgid()) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -226,26 +226,7 @@ func GetSafeScriptExecutor() (ScriptExecutor, func(), error) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	cmd := exec.Command(executable, "_internal-safe-script-executor") | 	cmd := exec.Command(executable, "_internal-safe-script-executor") | ||||||
| 	cmd.Env = []string{ | 	setCommonCmdEnv(cmd) | ||||||
| 		"HOME=/var/cache/alr", |  | ||||||
| 		"LOGNAME=alr", |  | ||||||
| 		"USER=alr", |  | ||||||
| 		"PATH=/usr/bin:/bin:/usr/local/bin", |  | ||||||
| 		"ALR_LOG_LEVEL=DEBUG", |  | ||||||
| 	} |  | ||||||
| 	/* |  | ||||||
| 		uid, gid, err := utils.GetUidGidAlrUser() |  | ||||||
| 		if err != nil { |  | ||||||
| 			return nil, nil, err |  | ||||||
| 		} |  | ||||||
|  |  | ||||||
| 			cmd.SysProcAttr = &syscall.SysProcAttr{ |  | ||||||
| 				Credential: &syscall.Credential{ |  | ||||||
| 					Uid: uint32(uid), |  | ||||||
| 					Gid: uint32(gid), |  | ||||||
| 				}, |  | ||||||
| 			} |  | ||||||
| 	*/ |  | ||||||
|  |  | ||||||
| 	client := plugin.NewClient(&plugin.ClientConfig{ | 	client := plugin.NewClient(&plugin.ClientConfig{ | ||||||
| 		HandshakeConfig: HandshakeConfig, | 		HandshakeConfig: HandshakeConfig, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user