aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/util-linux.go
blob: 8dc0f29243d617c4a401cb25c6f8406a7e6d9ab8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package rosa

import (
	"strings"

	"hakurei.app/internal/pkg"
)

func (t Toolchain) newUtilLinux() pkg.Artifact {
	const (
		version  = "2.41.3"
		checksum = "gPTd5JJ2ho_Rd0qainuogcLiiWwKSXEZPXN3yCCRl0m0KBgMaqwFuMjYgu9z8zCH"
	)
	return t.NewViaMake("util-linux", version, pkg.NewHTTPGetTar(
		nil, "https://www.kernel.org/pub/linux/utils/util-linux/"+
			"v"+strings.Join(strings.SplitN(version, ".", 3)[:2], ".")+
			"/util-linux-"+version+".tar.gz",
		mustDecode(checksum),
		pkg.TarGzip,
	), &MakeAttr{
		ScriptEarly: `
ln -s ../system/bin/bash /bin/
`,

		Configure: [][2]string{
			{"disable-use-tty-group"},
			{"disable-makeinstall-setuid"},
			{"disable-makeinstall-chown"},
			{"enable-fs-paths-default", "" +
				"/system/sbin:" +
				"/system/sbin/fs.d:" +
				"/system/sbin/fs"},

			{"disable-su"},
			{"disable-liblastlog2"},
			{"disable-pam-lastlog2"},
		},

		// check script claims:
		// For development purpose only.
		// Don't execute on production system!
		SkipCheck: true,
	},
		t.Load(Bash),

		t.Load(KernelHeaders),
	)
}
func init() { artifactsF[UtilLinux] = Toolchain.newUtilLinux }