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