44 "log/slog"
55 "os"
66 "path"
7+ "strings"
78
9+ "github.com/FascodeNet/alterlinux/alteriso5/utils"
810 "github.com/Hayao0819/nahi/osutils"
911)
1012
@@ -38,7 +40,7 @@ func FindPkgListFiles(profile string, arch string) ([]string, error) {
3840 slog .Debug ("Found pkglist" , "files" , files )
3941 for _ , f := range files {
4042 p := path .Join (profile , d , f .Name ())
41- slog .Info ("Found pkglist" , "file" ,p )
43+ slog .Info ("Found pkglist" , "file" , p )
4244 findFiles = append (findFiles , p )
4345 }
4446 }
@@ -54,3 +56,41 @@ func FindPkgListFiles(profile string, arch string) ([]string, error) {
5456
5557 return retunPaths , nil
5658}
59+
60+ func ReadPkgListFile (file string ) ([]string , error ) {
61+ pkgs := []string {}
62+
63+ lines , err := utils .ReadFileLine (file )
64+ if err != nil {
65+ return nil , err
66+ }
67+
68+ for _ , l := range lines {
69+ if l == "" || strings .HasPrefix (l , "#" ) {
70+ continue
71+ }
72+ pkgs = append (pkgs , l )
73+ }
74+
75+ return pkgs , nil
76+ }
77+
78+ func GetPkgList (profile string , arch string ) ([]string , error ) {
79+ files , err := FindPkgListFiles (profile , arch )
80+ if err != nil {
81+ return nil , err
82+ }
83+
84+ pkgs := []string {}
85+
86+ for _ , f := range files {
87+ p , err := ReadPkgListFile (f )
88+ if err != nil {
89+ return nil , err
90+ }
91+
92+ pkgs = append (pkgs , p ... )
93+ }
94+
95+ return pkgs , nil
96+ }
0 commit comments