tiny-slitaz annotate step1.php @ rev 1

Auto-update files.list.lzma
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Aug 21 11:16:18 2012 +0200 (2012-08-21)
parents 55f97ee147e8
children 577e6e91216d
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