rev |
line source |
pascal@0
|
1 <?php
|
pascal@0
|
2
|
pascal@0
|
3 $usedvars = array( "kernel", "modules", "packages", "toconfigure",
|
pascal@0
|
4 "continue", "configuring", "tmp_dir" );
|
pascal@0
|
5
|
pascal@0
|
6 function set_tmp_dir()
|
pascal@0
|
7 {
|
pascal@0
|
8 $dir = opendir("/tmp");
|
pascal@0
|
9 while (($name = readdir($dir)) !== false) {
|
pascal@0
|
10 if (preg_match('/^tiny_webgen/',$name) == 0) continue;
|
pascal@0
|
11 if (filemtime("/tmp/$name") > strtotime("-1 hour")) continue;
|
pascal@0
|
12 shell_exec("sudo ./helper --remove /tmp/$name");
|
pascal@0
|
13 }
|
pascal@0
|
14 closedir($dir);
|
pascal@0
|
15 if (isset($_POST["tmp_dir"])) return;
|
pascal@0
|
16 $_POST["tmp_dir"] = tempnam('','tiny_webgen');
|
pascal@0
|
17 if (file_exists($_POST["tmp_dir"])) unlink($_POST["tmp_dir"]);
|
pascal@0
|
18 mkdir($_POST["tmp_dir"]);
|
pascal@0
|
19 $_POST["tmp_dir"] .= '/';
|
pascal@0
|
20 }
|
pascal@0
|
21
|
pascal@0
|
22 set_tmp_dir();
|
pascal@0
|
23
|
pascal@0
|
24 function post_hidden()
|
pascal@0
|
25 {
|
pascal@0
|
26 global $usedvars;
|
pascal@0
|
27 foreach ($usedvars as $var) {
|
pascal@0
|
28 if (isset($_POST[$var]) && $var != "continue" &&
|
pascal@0
|
29 $var != "configuring") {
|
pascal@0
|
30 ?>
|
pascal@0
|
31 <input name="<?php echo $var; ?>" value="<?php echo $_POST[$var]; ?>" type="hidden" />
|
pascal@0
|
32 <?php
|
pascal@0
|
33 }
|
pascal@0
|
34 }
|
pascal@0
|
35 }
|
pascal@0
|
36
|
pascal@0
|
37 function upload($var, $file = "")
|
pascal@0
|
38 {
|
pascal@0
|
39 if ($file == "") $file = $var;
|
pascal@0
|
40 if (isset($_FILES[$var])) {
|
pascal@0
|
41 $tmp_name = $_FILES[$var]['tmp_name'];
|
pascal@0
|
42 if (is_uploaded_file($tmp_name)) {
|
pascal@0
|
43 move_uploaded_file($tmp_name, $_POST["tmp_dir"].$file);
|
pascal@0
|
44 }
|
pascal@0
|
45 }
|
pascal@0
|
46 }
|
pascal@0
|
47
|
pascal@0
|
48 if (isset($_POST['mykernel']) && !isset($_POST['packages'])) {
|
pascal@0
|
49 $_POST['kernel'] = "custom";
|
pascal@0
|
50 upload("uploadkernel","kernel");
|
pascal@0
|
51 }
|
pascal@0
|
52
|
pascal@0
|
53 if (!isset($_POST['kernel'])) {
|
pascal@1
|
54 shell_exec("sudo ./helper --init");
|
pascal@0
|
55 if (isset($_POST['config'])) {
|
pascal@0
|
56 upload("uploadconf");
|
pascal@0
|
57 }
|
pascal@0
|
58 if (!file_exists($_POST["tmp_dir"]."uploadconf")) {
|
pascal@0
|
59 ?>
|
pascal@0
|
60
|
pascal@0
|
61 <p>
|
pascal@0
|
62 The file <u>/etc/packages.conf</u> in the initramfs holds all information
|
pascal@0
|
63 to rebuild your Tiny SliTaz system. You should upload your
|
pascal@0
|
64 <u>/etc/packages.conf</u> first if you want to upgrade your system only.
|
pascal@0
|
65 </p>
|
pascal@0
|
66
|
pascal@0
|
67 <form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
|
pascal@0
|
68 Packages configuration:
|
pascal@0
|
69 <input type="file" name="uploadconf" />
|
pascal@0
|
70 <input name="config" value="Get config" type="submit" />
|
pascal@0
|
71 <?php post_hidden(); ?>
|
pascal@0
|
72 </form>
|
pascal@0
|
73 <?php
|
pascal@0
|
74 }
|
pascal@0
|
75 if (isset($_POST['mypackages'])) {
|
pascal@0
|
76 upload("uploadpkgs");
|
pascal@0
|
77 shell_exec("./helper --pkgs-extract uploadpkgs ".$_POST['tmp_dir']);
|
pascal@0
|
78 }
|
pascal@0
|
79 if (!file_exists($_POST["tmp_dir"]."uploadpkgs")) {
|
pascal@0
|
80 ?>
|
pascal@0
|
81
|
pascal@0
|
82 <p>
|
pascal@0
|
83 You can upload a tazpkg file (.tazpkg) or a tarball of tazpkg files (.tar).
|
pascal@0
|
84 These packages will extend the official packages list and will be chosen when
|
pascal@0
|
85 the package names are found to be matching. You can find some examples in the
|
pascal@0
|
86 <a href="http://hg.slitaz.org/wok-tiny/file/">Tiny SliTaz repository</a>.
|
pascal@0
|
87 </p>
|
pascal@0
|
88 <div>
|
pascal@0
|
89 <form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
|
pascal@0
|
90 Additional packages:
|
pascal@0
|
91 <input type="file" name="uploadpkgs" />
|
pascal@0
|
92 <input name="mypackages" value="Get packages" type="submit" />
|
pascal@0
|
93 <?php post_hidden(); ?>
|
pascal@0
|
94 </form>
|
pascal@0
|
95 </div>
|
pascal@0
|
96 <p>
|
pascal@0
|
97 <?php
|
pascal@0
|
98 }
|
pascal@0
|
99 ?>
|
pascal@0
|
100 </p>
|
pascal@0
|
101
|
pascal@0
|
102 <a name="kernel"></a>
|
pascal@0
|
103 <h2>Linux kernel</h2>
|
pascal@0
|
104
|
pascal@0
|
105 <p>
|
pascal@0
|
106 You can upload a custom kernel or use an official one.
|
pascal@0
|
107 Your kernel should have an embedded initramfs with busybox like
|
pascal@0
|
108 <a href="dist/rootfs.cpio" title="See CONFIG_INITRAMFS_SOURCE">this one</a>.
|
pascal@0
|
109 </p>
|
pascal@0
|
110
|
pascal@0
|
111 <div>
|
pascal@0
|
112 <form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
|
pascal@0
|
113 Custom kernel (bzImage file):
|
pascal@0
|
114 <input type="file" name="uploadkernel" />
|
pascal@0
|
115 <input name="mykernel" value="Get kernel" type="submit" />
|
pascal@0
|
116 <?php post_hidden(); ?>
|
pascal@0
|
117 </form>
|
pascal@0
|
118 </div>
|
pascal@0
|
119
|
pascal@0
|
120 <div>
|
pascal@0
|
121 <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" name="kernels">
|
pascal@0
|
122 <?php
|
pascal@0
|
123 echo shell_exec("./helper --list-kernels ".$_POST["tmp_dir"]);
|
pascal@0
|
124 post_hidden();
|
pascal@0
|
125 ?>
|
pascal@0
|
126 <p>
|
pascal@0
|
127 </p>
|
pascal@0
|
128
|
pascal@0
|
129 <div align="center">
|
pascal@0
|
130 <input name="continue" value="Continue" type="submit" />
|
pascal@0
|
131 </div>
|
pascal@0
|
132 </form>
|
pascal@0
|
133 </div>
|
pascal@0
|
134 <?php
|
pascal@0
|
135 }
|
pascal@0
|
136 ?>
|
pascal@0
|
137
|