summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEudyptula <eitan@mosenkis.net>2009-08-07 00:37:45 -0400
committerEudyptula <eitan@mosenkis.net>2009-08-07 00:37:45 -0400
commitd44807609c3b2c3e4a7fd7295e77be2894e1b901 (patch)
tree0695b31ed174f6e15fac4bda36e4bf9cee2c28d7
parentFix backend $build->get_owner() inside sql LOCK (diff)
downloadingenue-d44807609c3b2c3e4a7fd7295e77be2894e1b901.tar.gz
ingenue-d44807609c3b2c3e4a7fd7295e77be2894e1b901.tar.bz2
ingenue-d44807609c3b2c3e4a7fd7295e77be2894e1b901.zip
Fix module extraction in CD bundlers
-rw-r--r--backend/bundlers/installcd.php3
-rw-r--r--backend/bundlers/livecd.php5
-rw-r--r--depend1
-rw-r--r--todo5
4 files changed, 11 insertions, 3 deletions
diff --git a/backend/bundlers/installcd.php b/backend/bundlers/installcd.php
index 05918ea..9a4f857 100644
--- a/backend/bundlers/installcd.php
+++ b/backend/bundlers/installcd.php
@@ -9,7 +9,8 @@ function bundle_installcd($I, $W, &$opts) {
makedir("$I/boot");
execute_command('Extract kernel, initrd, and squashfs from CD image ', LIB."/bkisofs-cli '$minimaliso' extract /isolinux/gentoo '$I/boot/kernel' extract /isolinux/gentoo.igz '$I/boot/initrd' extract /image.squashfs '$W/'");
file_put_contents("$W/unsquashfs-files", "/lib64/modules\n/lib/modules\n");
- execute_command('Copy kernel modules from SquashFS to image', "unsquashfs -i -d '$I' -e '$W/unsquashfs-files' '$W/image.squashfs'");
+ execute_command('Extract kernel modules from SquashFS', "unsquashfs -i -d '$W/modules' -e '$W/unsquashfs-files' '$W/image.squashfs'");
+ execute_command('Copy extracted modules to image', "cp -av '$W/modules/*' '$I/'");
execute_command('Compress finished image to tar/bzip2', "tar -p --same-owner -cjvf '$W/image.tar.bz2' -C '$I' .");
execute_command('Create ISO image', LIB."/bkisofs-cli '$minimaliso' add / '$W/image.tar.bz2' write '$W/image.iso'");
return "$W/image.iso";
diff --git a/backend/bundlers/livecd.php b/backend/bundlers/livecd.php
index ec4de83..d8a40fd 100644
--- a/backend/bundlers/livecd.php
+++ b/backend/bundlers/livecd.php
@@ -9,8 +9,9 @@ function bundle_livecd($I, $W, &$opts) {
makedir("$I/boot");
execute_command('Extract kernel, initrd, and squashfs from CD image ', LIB."/bkisofs-cli '$minimaliso' extract /isolinux/gentoo '$I/boot/kernel' extract /isolinux/gentoo.igz '$I/boot/initrd' extract /image.squashfs '$W/'");
file_put_contents("$W/unsquashfs-files", "/lib64/modules\n/lib/modules\n");
- execute_command('Copy kernel modules from SquashFS to image', "unsquashfs -i -d '$I' -e '$W/unsquashfs-files' '$W/image.squashfs'");
- execute_command('Compress finished image to squashfs', "mksquashfs '$I' '$W/image.squashfs' -noappend -info");
+ execute_command('Extract kernel modules from SquashFS', "unsquashfs -i -d '$W/modules' -e '$W/unsquashfs-files' '$W/image.squashfs'");
+ execute_command('Copy extracted modules to image', "cp -av '$W/modules/*' '$I/'");
+execute_command('Compress finished image to squashfs', "mksquashfs '$I' '$W/image.squashfs' -noappend -info");
execute_command('Create ISO image', LIB."/bkisofs-cli '$minimaliso' replace /image.squashfs '$W/image.squashfs' write '$W/image.iso'");
return "$W/image.iso";
}
diff --git a/depend b/depend
index e1b6963..f20dbac 100644
--- a/depend
+++ b/depend
@@ -5,3 +5,4 @@ sys-apps/sed
www-servers/apache APACHE2_MODULES=rewrite
>=sys-fs/squashfs-tools-4
JFFS2: sys-fs/mtd-utils
+net-misc/ntp
diff --git a/todo b/todo
index ade9840..6cff4ce 100644
--- a/todo
+++ b/todo
@@ -5,6 +5,8 @@ Add cleanup functions to the frontend and backend (tasks dir in backend containi
Only offer bundlers that will work - profiles without CD in map file can't make livecd, installcd, etc.
Allow config viewing for builds, not just configurations
Add `flags` column to configurations, builds, use it to implement public and private things
+Break backend into steps defined by include files - add an API function to require a file, add them up, store the total in the database, track status and provide resumability
+Add safe shutdown to backend so it will stop once it gets to the end of a step that can be resumed
Add 'cancel', option to builds, allow deletion of currently running builds (have backend check if canceled before and after each task)
Add build->configuration and configuration duplication
Add map file for liveCD, load it into DB, etc.
@@ -22,3 +24,6 @@ Offer FTP upload
Offer SCP upload?
Use zmedico's deafult USE flags script in backend/modules/gentoo_portage to trim the USE we put in the make.conf generated
Ask someone to add the necessary USE flags to php on tinderbox
+Fix module copying from CD to image for Install/LiveCD (See build log)
+Find out why 'backend' isn't making it into buildopts
+Find out why vserv with debug off didn't delete the work dir