Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
7a61e5126c | ||
|
0925cbd8ac | ||
|
866f17b86f | ||
|
15e99c3658 | ||
|
6400871749 |
@@ -31,7 +31,7 @@ gofmt linting:
|
|||||||
- apk -q update --repository http://dl-4.alpinelinux.org/alpine/edge/testing
|
- apk -q update --repository http://dl-4.alpinelinux.org/alpine/edge/testing
|
||||||
- apk -q add --repository http://dl-4.alpinelinux.org/alpine/edge/testing go staticcheck
|
- apk -q add --repository http://dl-4.alpinelinux.org/alpine/edge/testing go staticcheck
|
||||||
script:
|
script:
|
||||||
- .gitlab-ci/check_linting.sh
|
- .ci/check_linting.sh
|
||||||
|
|
||||||
build:
|
build:
|
||||||
stage: build
|
stage: build
|
||||||
|
29
main.go
29
main.go
@@ -86,18 +86,29 @@ func bootDeploy(workDir string, outDir string) error {
|
|||||||
if len(kernels) == 0 {
|
if len(kernels) == 0 {
|
||||||
return errors.New("Unable to find any kernels at " + filepath.Join(outDir, "vmlinuz*"))
|
return errors.New("Unable to find any kernels at " + filepath.Join(outDir, "vmlinuz*"))
|
||||||
}
|
}
|
||||||
kernFile, err := os.Open(kernels[0])
|
|
||||||
|
// Pick a kernel that does not have suffixes added by boot-deploy
|
||||||
|
var kernFile string
|
||||||
|
for _, f := range kernels {
|
||||||
|
if strings.HasSuffix(f, "-dtb") || strings.HasSuffix(f, "-mtk") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
kernFile = f
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
kernFd, err := os.Open(kernFile)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
defer kernFile.Close()
|
defer kernFd.Close()
|
||||||
|
|
||||||
kernFileCopy, err := os.Create(filepath.Join(workDir, "vmlinuz"))
|
kernFileCopy, err := os.Create(filepath.Join(workDir, "vmlinuz"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if _, err = io.Copy(kernFileCopy, kernFile); err != nil {
|
if _, err = io.Copy(kernFileCopy, kernFd); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
kernFileCopy.Close()
|
kernFileCopy.Close()
|
||||||
@@ -403,6 +414,7 @@ func getInitfsFiles(files misc.StringSet, devinfo deviceinfo.DeviceInfo) error {
|
|||||||
"/usr/sbin/telnetd": false,
|
"/usr/sbin/telnetd": false,
|
||||||
"/sbin/kpartx": false,
|
"/sbin/kpartx": false,
|
||||||
"/etc/deviceinfo": false,
|
"/etc/deviceinfo": false,
|
||||||
|
"/usr/bin/unudhcpd": false,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hook files & scripts
|
// Hook files & scripts
|
||||||
@@ -657,15 +669,8 @@ func getModuleDeps(modName string, modulesDep io.Reader) ([]string, error) {
|
|||||||
|
|
||||||
// split the module name on - and/or _, build a regex for matching
|
// split the module name on - and/or _, build a regex for matching
|
||||||
splitRe := regexp.MustCompile("[-_]+")
|
splitRe := regexp.MustCompile("[-_]+")
|
||||||
var modNameReStr string
|
modNameReStr := splitRe.ReplaceAllString(modName, "[-_]+")
|
||||||
for _, s := range splitRe.Split(modName, -1) {
|
re := regexp.MustCompile("^" + modNameReStr + "$")
|
||||||
if modNameReStr != "" {
|
|
||||||
modNameReStr += "[-_]+" + s
|
|
||||||
} else {
|
|
||||||
modNameReStr = s
|
|
||||||
}
|
|
||||||
}
|
|
||||||
re := regexp.MustCompile(modNameReStr)
|
|
||||||
|
|
||||||
s := bufio.NewScanner(modulesDep)
|
s := bufio.NewScanner(modulesDep)
|
||||||
for s.Scan() {
|
for s.Scan() {
|
||||||
|
@@ -40,6 +40,7 @@ func stringSlicesEqual(a []string, b []string) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var testModuleDep string = `
|
var testModuleDep string = `
|
||||||
|
kernel/sound/soc/codecs/snd-soc-msm8916-digital.ko:
|
||||||
kernel/net/sched/act_ipt.ko.xz: kernel/net/netfilter/x_tables.ko.xz
|
kernel/net/sched/act_ipt.ko.xz: kernel/net/netfilter/x_tables.ko.xz
|
||||||
kernel/drivers/watchdog/watchdog.ko.xz:
|
kernel/drivers/watchdog/watchdog.ko.xz:
|
||||||
kernel/drivers/usb/serial/ir-usb.ko.xz: kernel/drivers/usb/serial/usbserial.ko.xz
|
kernel/drivers/usb/serial/ir-usb.ko.xz: kernel/drivers/usb/serial/usbserial.ko.xz
|
||||||
@@ -53,6 +54,7 @@ kernel/net/bluetooth/hidp/hidp.ko.xz: kernel/net/bluetooth/bluetooth.ko.xz kerne
|
|||||||
kernel/fs/nls/nls_iso8859-1.ko.xz:
|
kernel/fs/nls/nls_iso8859-1.ko.xz:
|
||||||
kernel/net/vmw_vsock/vmw_vsock_virtio_transport.ko.xz: kernel/net/vmw_vsock/vmw_vsock_virtio_transport_common.ko.xz kernel/drivers/virtio/virtio.ko.xz kernel/drivers/virtio/virtio_ring.ko.xz kernel/net/vmw_vsock/vsock.ko.xz
|
kernel/net/vmw_vsock/vmw_vsock_virtio_transport.ko.xz: kernel/net/vmw_vsock/vmw_vsock_virtio_transport_common.ko.xz kernel/drivers/virtio/virtio.ko.xz kernel/drivers/virtio/virtio_ring.ko.xz kernel/net/vmw_vsock/vsock.ko.xz
|
||||||
kernel/drivers/gpu/drm/panfrost/panfrost.ko.xz: kernel/drivers/gpu/drm/scheduler/gpu-sched.ko.xz
|
kernel/drivers/gpu/drm/panfrost/panfrost.ko.xz: kernel/drivers/gpu/drm/scheduler/gpu-sched.ko.xz
|
||||||
|
kernel/drivers/gpu/drm/msm/msm.ko: kernel/drivers/gpu/drm/drm_kms_helper.ko
|
||||||
`
|
`
|
||||||
|
|
||||||
func TestGetModuleDeps(t *testing.T) {
|
func TestGetModuleDeps(t *testing.T) {
|
||||||
@@ -65,6 +67,8 @@ func TestGetModuleDeps(t *testing.T) {
|
|||||||
{"dw-wdt", []string{"kernel/drivers/watchdog/dw_wdt.ko.xz",
|
{"dw-wdt", []string{"kernel/drivers/watchdog/dw_wdt.ko.xz",
|
||||||
"kernel/drivers/watchdog/watchdog.ko.xz"}},
|
"kernel/drivers/watchdog/watchdog.ko.xz"}},
|
||||||
{"gl518sm", []string{"kernel/drivers/hwmon/gl518sm.ko.xz"}},
|
{"gl518sm", []string{"kernel/drivers/hwmon/gl518sm.ko.xz"}},
|
||||||
|
{"msm", []string{"kernel/drivers/gpu/drm/msm/msm.ko",
|
||||||
|
"kernel/drivers/gpu/drm/drm_kms_helper.ko"}},
|
||||||
}
|
}
|
||||||
for _, table := range tables {
|
for _, table := range tables {
|
||||||
out, err := getModuleDeps(table.in, strings.NewReader(testModuleDep))
|
out, err := getModuleDeps(table.in, strings.NewReader(testModuleDep))
|
||||||
|
Reference in New Issue
Block a user