Check-in [9d8f6caf41]
Overview
Comment:Some docker updates
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:9d8f6caf41f00700f6f22c05349419ce931ab2ec
User & Date: rkeene on 2017-12-15 05:32:19
Other Links: manifest | tags
Context
2017-12-15
05:32
AppFS 1.10 Leaf check-in: 1b562faeed user: rkeene tags: trunk, 1.10
05:32
Some docker updates check-in: 9d8f6caf41 user: rkeene tags: trunk
05:31
Updated to support a "-lib" option to the "install" command of "appfs-cache" check-in: a664b039b7 user: rkeene tags: trunk
Changes

Modified build/docker/Dockerfile from [42acc0ed9e] to [bbc31a5c72].

1
2
3
4
5
FROM scratch

COPY init appfsd /bin/

ENTRYPOINT ["/bin/init"]


|


1
2
3
4
5
FROM scratch

COPY init appfsd appfs-cache /bin/

ENTRYPOINT ["/bin/init"]

Modified build/docker/init.c from [ecb8eda1cf] to [98580b3f9b].

47
48
49
50
51
52
53

54
55
56
57
58
59
60
61


62
63
64
65
66
67

68
69
70
71
72
73
74
75
76
77
78
79
	if (access("/dev/fuse", F_OK) != 0) {
		fprintf(stderr, "This container needs to be run as:  docker run --cap-add SYS_ADMIN --device /dev/fuse ...\n");

		return(1);
	}

	mkdir("/bin", 0755);

	mkdir("/opt", 0755);
	mkdir("/opt/appfs", 0755);
	mkdir("/var", 0755);
	mkdir("/var/cache", 0755);
	mkdir("/var/cache/appfs", 0755);
	run("/bin/appfsd", "appfsd", "/var/cache/appfs", "/opt/appfs", NULL);

	symlink(".", "/usr");


	symlink("/opt/appfs/core.appfs.rkeene.org/bash/platform/latest/bin/bash", "/bin/bash");
	symlink("/opt/appfs/core.appfs.rkeene.org/coreutils/platform/latest/bin/env", "/bin/env");

	symlink("/bin/bash", "/bin/sh");

	setenv("PATH", "/bin:/opt/appfs/core.appfs.rkeene.org/coreutils/platform/latest/bin", 1);

	run("/bin/appfs-install-pkg", "appfs-install-pkg", "core.appfs.rkeene.org", "coreutils", NULL);
	setenv("PATH", "/bin", 1);

	if (argc == 1) {
		run("/bin/sh", "sh", NULL);
	} else {
		argv++;
		execvp(argv[0], argv);
	}

	return(0);
}







>








>
>






>
|











47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
	if (access("/dev/fuse", F_OK) != 0) {
		fprintf(stderr, "This container needs to be run as:  docker run --cap-add SYS_ADMIN --device /dev/fuse ...\n");

		return(1);
	}

	mkdir("/bin", 0755);
	mkdir("/lib", 0755);
	mkdir("/opt", 0755);
	mkdir("/opt/appfs", 0755);
	mkdir("/var", 0755);
	mkdir("/var/cache", 0755);
	mkdir("/var/cache/appfs", 0755);
	run("/bin/appfsd", "appfsd", "/var/cache/appfs", "/opt/appfs", NULL);

	symlink(".", "/usr");
	symlink("lib", "/lib64");

	symlink("/opt/appfs/core.appfs.rkeene.org/bash/platform/latest/bin/bash", "/bin/bash");
	symlink("/opt/appfs/core.appfs.rkeene.org/coreutils/platform/latest/bin/env", "/bin/env");

	symlink("/bin/bash", "/bin/sh");

	setenv("PATH", "/bin:/opt/appfs/core.appfs.rkeene.org/coreutils/platform/latest/bin", 1);
	run("/bin/appfs-cache", "appfs-cache", "install", "-lib", "core.appfs.rkeene.org", "glibc", NULL);
	run("/bin/appfs-cache", "appfs-cache", "install", "core.appfs.rkeene.org", "coreutils", NULL);
	setenv("PATH", "/bin", 1);

	if (argc == 1) {
		run("/bin/sh", "sh", NULL);
	} else {
		argv++;
		execvp(argv[0], argv);
	}

	return(0);
}