/srv/irclogs.ubuntu.com/2007/03/23/#ubuntu-installer.txt

=== avoine [n=avoine@modemcable056.3-203-24.mc.videotron.ca] has joined #ubuntu-installer
=== mpt [n=mpt@121-72-132-150.dsl.telstraclear.net] has joined #ubuntu-installer
=== mpt [n=mpt@121-72-132-150.dsl.telstraclear.net] has joined #ubuntu-installer
=== jetsaredim [n=jgreenwa@inet-nc01-o.oracle.com] has joined #ubuntu-installer
jetsaredimwas looking for some help in making some changes to ubiquity07:36
jetsaredimto add some new dialogs07:37
jetsaredimis there any documentation on this?07:37
jetsaredimI've only minimally played with glade, but there is so little documentation out there its hard to know exactly what to change07:37
=== jetsaredim is now known as jetsaredim_
cjwatsonjetsaredim_: no, I'm afraid there's no documentation at all about that09:45
cjwatsonjetsaredim_: adding new screens is a pain in the arse and still best avoided ;-)09:45
cjwatsonjetsaredim_: what exactly are you trying to do?09:46
cjwatsonjetsaredim_: doc/README in the ubiquity source is a start at explaining how it all hangs together, but makes no pretence at being a "how to add new pages" guide09:47
=== cr3 [n=marc@pdpc/supporter/bronze/cr3] has joined #ubuntu-installer
=== avoine [n=avoine@modemcable034.0-70-69.static.videotron.ca] has joined #ubuntu-installer
jetsaredim_cjwatson: ping02:21
cjwatsonhello02:26
jetsaredim_h02:28
jetsaredim_so I offered to help the mythbuntu group with some python, but I'm not so good with glade02:29
jetsaredim_we'd like to add a couple pages to allow for mythtv setup/installation during install time02:29
jetsaredim_on a new boutique distro02:29
cjwatsonok, I have to say that at the moment ubiquity is probably about the hardest possible place to do that ;-)02:30
=== jetsaredim_ is all ears
evandheh02:30
jetsaredim_how so?02:30
cjwatsonyou'd need to edit ubiquity/frontend/gtkui.py and look for where names beginning with "step" are handled at the moment02:31
cjwatsonyou'd need to add pages to the glade file02:31
jetsaredim_yep02:31
cjwatsonif debconf is involved, you'll need to add ubiquity/components/whatever.py02:31
jetsaredim_that's about what I figured02:31
cjwatsonbut the UI is all totally monolithic02:31
jetsaredim_i can see that02:31
jetsaredim_:)02:31
cjwatsonso it's not really well suited for modifications like this yet02:31
cjwatsonI do hope to split it out one day as it would make things easier for me too, but it was kind of like this when I took over the code from guadalinex02:32
jetsaredim_hm ok02:32
cjwatsonin gtkui.py, you'd need to edit the run, on_next_clicked, and on_back_clicked methods at a minimum02:33
jetsaredim_do you know of any tools that make it easier to read the glade file, do ya?02:33
cjwatsonpossibly random special-case handling elsewhere02:33
cjwatsonin edgy, use glade-2; in feisty, use glade-302:33
cjwatsonyou don't want to edit it by hand02:33
jetsaredim_yea - I think I got the next and run, but not back02:33
jetsaredim_I'm having an issue with my glade installation at the moment02:33
cjwatsonfix it first, then ;-)02:33
jetsaredim_yea02:33
jetsaredim_so02:34
cjwatsonbut the packaged versions should work fine; they're what I've always used02:34
jetsaredim_how do you map the stuff that you design in glade to actual code?02:34
cjwatsonhow do you mean?02:34
jetsaredim_i guess its more of a glade question02:34
jetsaredim_but I'm just not 100 familiar with how glade actually works02:34
evandjetsaredim_: the names of all the objects get imported into the global space, so you can refer to things like self.username_box02:35
jetsaredim_ok02:35
cjwatsonlook around where gtkui.py calls gtk.glade.XML02:35
jetsaredim_ok02:35
jetsaredim_where to the settings get stored02:36
cjwatsonthat's up to you02:36
jetsaredim_how do they get translated into install actions02:36
jetsaredim_like is there a global queue of packages or something02:36
cjwatsontypically you need to write code in scripts/install.py to apply modifications to the installed system02:37
jetsaredim_like if I put in a screen that says I want to install 10 packages and a couple have customizations02:37
jetsaredim_ok02:37
jetsaredim_is there some sort of install chroot?02:37
cjwatsonideally it's best to avoid installing packages in ubiquity (although sometimes it's necessary)02:37
jetsaredim_as opposed to?02:38
cjwatsonubiquity normally just copies the live filesystem over and then removes stuff from it02:38
cjwatsonso normally we try to put everything we need in the live filesystem02:38
jetsaredim_ic02:38
cjwatsonlike I say, it's not always possible, but usually it works out, and it makes the live filesystem a better demo02:38
cjwatsonI assume you've read doc/README? It explains this02:38
jetsaredim_... :)02:39
cjwatsoninstall chroot> yes, /target02:39
=== jetsaredim_ runs and hides
cjwatsondoes the mythtv stuff you're trying to configure use debconf?02:39
jetsaredim_some02:39
jetsaredim_but there is at least one utility that we'd like to be able to run from inside the chroot02:40
jetsaredim_cause it needs interaction02:40
cjwatsonsure, you can do that, chrex function in scripts/install.py02:40
cjwatsoner, interaction?02:40
cjwatsonas in command-line?02:40
jetsaredim_no02:40
jetsaredim_gui02:40
jetsaredim_mythtv-setup02:40
cjwatsonmeh, that'll be fiddly02:40
jetsaredim_how so02:40
cjwatsonyou'd have to set up X authorisation in the chroot and stuff, and it would generally be a mess02:41
cjwatsonalso pretty ugly UI-wise; we try to ask all the questions up-front, before the chroot exists02:41
=== evand starts getting gparted flashbacks
jetsaredim_there's really no non-interactive way to setup mythtv02:41
jetsaredim_unfortunately02:42
jetsaredim_the only other thing I could think of would be something run on first boot02:42
cjwatsonmythtv-setup doesn't ask all that many questions, does it?02:43
cjwatsonand presumably it just blats the answers into a configuration file02:43
cjwatsonit's also a pretty hideous UI02:43
jetsaredim_yes and no02:43
jetsaredim_yea02:43
jetsaredim_for sure02:43
jetsaredim_but there is stuff about if you have multiple cards02:43
jetsaredim_and if you have multiple inputs per cards02:44
jetsaredim_and what channels you want to setup02:44
jetsaredim_if we didn't run mythtv-setup, we'd essentially have to re-write it in ubiquity pages02:44
cjwatsonso you're doomed to a horrible UI anyway02:45
jetsaredim_which we've already come up with 2 more pages than are there now as it is02:45
cjwatsoncan you at least run it before starting the install and then copy the configuration into /target?02:45
jetsaredim_interesting thought02:45
jetsaredim_i suppose that would work02:45
jetsaredim_though you might not be guaranteed that udev would scan the devices the same way on the install vs the cd02:46
cjwatsonthat's how ubiquity does everything else02:46
jetsaredim_true02:47
cjwatsonif udev doesn't scan the devices the same on the install versus the CD, then it won't necessarily scan them the same way on every boot either02:47
cjwatsonso that would make you screwed anyway02:47
jetsaredim_so if we wanted to install the mythplugins or something, we should just install them in the livecd and then remove them from if the user didn't want them?02:47
jetsaredim_err from the install02:48
jetsaredim_anyway - i have to run - but i'll be back on late02:49
jetsaredim_r02:49
jetsaredim_i hope you don't mind me picking your brains02:49
jetsaredim_o02:50
cjwatsonyou can do it either way, it's just generally simpler to have them in the live filesystem02:50
jetsaredim_ok02:50
cjwatsonjust have a shell script call 'apt-install <package>' at some point (yes, apt-install, not apt-get install) and ubiquity will sort out the rest for you02:51
jetsaredim_in the livecd environment?02:51
cjwatsonif you want a package to be removable, then put it in /casper/filesystem.manifest but not in /casper/filesystem.manifest-desktop02:51
cjwatson(on the CD)02:51
cjwatsonyes, in the live session02:52
cjwatsonpackages listed in both /casper/filesystem.manifest and /casper/filesystem.manifest-desktop will always be installed in /target02:52
cjwatsonpackages in just the first one will only be installed in /target if something apt-installs them02:52
jetsaredim_interesting02:52
cjwatsonthis is so that things like ubiquity itself can be removed02:52
jetsaredim_right02:53
jetsaredim_wow - I'm going to have to save this session for reference :)02:54
jetsaredim_ok - i'll def be back to ask more questions02:54
jetsaredim_thanks again for the help02:55
cjwatsonno problem02:56
evandjetsaredim_: depending on the question, I may be able to help you as well, if cjwatson is not around.03:15
=== jetsaredim [n=jgreenwa@inet-nc01-o.oracle.com] has joined #ubuntu-installer
jetsaredimevand: any suggestions on tracking down my gtk problems05:37
jetsaredimI'm running kde and i have the gtk2-engines-qt package installed05:37
cjwatsonwhoa, don't use gtkui.py if you're running KDE, use kde-ui.py instead05:41
jetsaredimno no05:41
jetsaredimmy dev box is kde05:41
jetsaredimnot the livecd environment05:41
jetsaredimI can't run glade on my dev box since gtk seems all messed up05:42
cjwatsonoh, I suppose that would explain your problems05:42
cjwatsonask Riddell maybe05:42
jetsaredimright05:42
jetsaredimRiddell?05:42
jetsaredimfound05:43
jetsaredimok - will do05:43
jetsaredimthanks05:43
=== jetsaredim is extremely new to ubuntu/kubuntu

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!