=== 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 | ||
jetsaredim | was looking for some help in making some changes to ubiquity | 07:36 |
---|---|---|
jetsaredim | to add some new dialogs | 07:37 |
jetsaredim | is there any documentation on this? | 07:37 |
jetsaredim | I've only minimally played with glade, but there is so little documentation out there its hard to know exactly what to change | 07:37 |
=== jetsaredim is now known as jetsaredim_ | ||
cjwatson | jetsaredim_: no, I'm afraid there's no documentation at all about that | 09:45 |
cjwatson | jetsaredim_: adding new screens is a pain in the arse and still best avoided ;-) | 09:45 |
cjwatson | jetsaredim_: what exactly are you trying to do? | 09:46 |
cjwatson | jetsaredim_: 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" guide | 09: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: ping | 02:21 |
cjwatson | hello | 02:26 |
jetsaredim_ | h | 02:28 |
jetsaredim_ | so I offered to help the mythbuntu group with some python, but I'm not so good with glade | 02:29 |
jetsaredim_ | we'd like to add a couple pages to allow for mythtv setup/installation during install time | 02:29 |
jetsaredim_ | on a new boutique distro | 02:29 |
cjwatson | ok, 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 | ||
evand | heh | 02:30 |
jetsaredim_ | how so? | 02:30 |
cjwatson | you'd need to edit ubiquity/frontend/gtkui.py and look for where names beginning with "step" are handled at the moment | 02:31 |
cjwatson | you'd need to add pages to the glade file | 02:31 |
jetsaredim_ | yep | 02:31 |
cjwatson | if debconf is involved, you'll need to add ubiquity/components/whatever.py | 02:31 |
jetsaredim_ | that's about what I figured | 02:31 |
cjwatson | but the UI is all totally monolithic | 02:31 |
jetsaredim_ | i can see that | 02:31 |
jetsaredim_ | :) | 02:31 |
cjwatson | so it's not really well suited for modifications like this yet | 02:31 |
cjwatson | I 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 guadalinex | 02:32 |
jetsaredim_ | hm ok | 02:32 |
cjwatson | in gtkui.py, you'd need to edit the run, on_next_clicked, and on_back_clicked methods at a minimum | 02:33 |
jetsaredim_ | do you know of any tools that make it easier to read the glade file, do ya? | 02:33 |
cjwatson | possibly random special-case handling elsewhere | 02:33 |
cjwatson | in edgy, use glade-2; in feisty, use glade-3 | 02:33 |
cjwatson | you don't want to edit it by hand | 02:33 |
jetsaredim_ | yea - I think I got the next and run, but not back | 02:33 |
jetsaredim_ | I'm having an issue with my glade installation at the moment | 02:33 |
cjwatson | fix it first, then ;-) | 02:33 |
jetsaredim_ | yea | 02:33 |
jetsaredim_ | so | 02:34 |
cjwatson | but the packaged versions should work fine; they're what I've always used | 02:34 |
jetsaredim_ | how do you map the stuff that you design in glade to actual code? | 02:34 |
cjwatson | how do you mean? | 02:34 |
jetsaredim_ | i guess its more of a glade question | 02:34 |
jetsaredim_ | but I'm just not 100 familiar with how glade actually works | 02:34 |
evand | jetsaredim_: the names of all the objects get imported into the global space, so you can refer to things like self.username_box | 02:35 |
jetsaredim_ | ok | 02:35 |
cjwatson | look around where gtkui.py calls gtk.glade.XML | 02:35 |
jetsaredim_ | ok | 02:35 |
jetsaredim_ | where to the settings get stored | 02:36 |
cjwatson | that's up to you | 02:36 |
jetsaredim_ | how do they get translated into install actions | 02:36 |
jetsaredim_ | like is there a global queue of packages or something | 02:36 |
cjwatson | typically you need to write code in scripts/install.py to apply modifications to the installed system | 02:37 |
jetsaredim_ | like if I put in a screen that says I want to install 10 packages and a couple have customizations | 02:37 |
jetsaredim_ | ok | 02:37 |
jetsaredim_ | is there some sort of install chroot? | 02:37 |
cjwatson | ideally it's best to avoid installing packages in ubiquity (although sometimes it's necessary) | 02:37 |
jetsaredim_ | as opposed to? | 02:38 |
cjwatson | ubiquity normally just copies the live filesystem over and then removes stuff from it | 02:38 |
cjwatson | so normally we try to put everything we need in the live filesystem | 02:38 |
jetsaredim_ | ic | 02:38 |
cjwatson | like I say, it's not always possible, but usually it works out, and it makes the live filesystem a better demo | 02:38 |
cjwatson | I assume you've read doc/README? It explains this | 02:38 |
jetsaredim_ | ... :) | 02:39 |
cjwatson | install chroot> yes, /target | 02:39 |
=== jetsaredim_ runs and hides | ||
cjwatson | does the mythtv stuff you're trying to configure use debconf? | 02:39 |
jetsaredim_ | some | 02:39 |
jetsaredim_ | but there is at least one utility that we'd like to be able to run from inside the chroot | 02:40 |
jetsaredim_ | cause it needs interaction | 02:40 |
cjwatson | sure, you can do that, chrex function in scripts/install.py | 02:40 |
cjwatson | er, interaction? | 02:40 |
cjwatson | as in command-line? | 02:40 |
jetsaredim_ | no | 02:40 |
jetsaredim_ | gui | 02:40 |
jetsaredim_ | mythtv-setup | 02:40 |
cjwatson | meh, that'll be fiddly | 02:40 |
jetsaredim_ | how so | 02:40 |
cjwatson | you'd have to set up X authorisation in the chroot and stuff, and it would generally be a mess | 02:41 |
cjwatson | also pretty ugly UI-wise; we try to ask all the questions up-front, before the chroot exists | 02:41 |
=== evand starts getting gparted flashbacks | ||
jetsaredim_ | there's really no non-interactive way to setup mythtv | 02:41 |
jetsaredim_ | unfortunately | 02:42 |
jetsaredim_ | the only other thing I could think of would be something run on first boot | 02:42 |
cjwatson | mythtv-setup doesn't ask all that many questions, does it? | 02:43 |
cjwatson | and presumably it just blats the answers into a configuration file | 02:43 |
cjwatson | it's also a pretty hideous UI | 02:43 |
jetsaredim_ | yes and no | 02:43 |
jetsaredim_ | yea | 02:43 |
jetsaredim_ | for sure | 02:43 |
jetsaredim_ | but there is stuff about if you have multiple cards | 02:43 |
jetsaredim_ | and if you have multiple inputs per cards | 02:44 |
jetsaredim_ | and what channels you want to setup | 02:44 |
jetsaredim_ | if we didn't run mythtv-setup, we'd essentially have to re-write it in ubiquity pages | 02:44 |
cjwatson | so you're doomed to a horrible UI anyway | 02:45 |
jetsaredim_ | which we've already come up with 2 more pages than are there now as it is | 02:45 |
cjwatson | can you at least run it before starting the install and then copy the configuration into /target? | 02:45 |
jetsaredim_ | interesting thought | 02:45 |
jetsaredim_ | i suppose that would work | 02:45 |
jetsaredim_ | though you might not be guaranteed that udev would scan the devices the same way on the install vs the cd | 02:46 |
cjwatson | that's how ubiquity does everything else | 02:46 |
jetsaredim_ | true | 02:47 |
cjwatson | if 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 either | 02:47 |
cjwatson | so that would make you screwed anyway | 02: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 install | 02:48 |
jetsaredim_ | anyway - i have to run - but i'll be back on late | 02:49 |
jetsaredim_ | r | 02:49 |
jetsaredim_ | i hope you don't mind me picking your brains | 02:49 |
jetsaredim_ | o | 02:50 |
cjwatson | you can do it either way, it's just generally simpler to have them in the live filesystem | 02:50 |
jetsaredim_ | ok | 02:50 |
cjwatson | just 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 you | 02:51 |
jetsaredim_ | in the livecd environment? | 02:51 |
cjwatson | if you want a package to be removable, then put it in /casper/filesystem.manifest but not in /casper/filesystem.manifest-desktop | 02:51 |
cjwatson | (on the CD) | 02:51 |
cjwatson | yes, in the live session | 02:52 |
cjwatson | packages listed in both /casper/filesystem.manifest and /casper/filesystem.manifest-desktop will always be installed in /target | 02:52 |
cjwatson | packages in just the first one will only be installed in /target if something apt-installs them | 02:52 |
jetsaredim_ | interesting | 02:52 |
cjwatson | this is so that things like ubiquity itself can be removed | 02:52 |
jetsaredim_ | right | 02: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 questions | 02:54 |
jetsaredim_ | thanks again for the help | 02:55 |
cjwatson | no problem | 02:56 |
evand | jetsaredim_: 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 | ||
jetsaredim | evand: any suggestions on tracking down my gtk problems | 05:37 |
jetsaredim | I'm running kde and i have the gtk2-engines-qt package installed | 05:37 |
cjwatson | whoa, don't use gtkui.py if you're running KDE, use kde-ui.py instead | 05:41 |
jetsaredim | no no | 05:41 |
jetsaredim | my dev box is kde | 05:41 |
jetsaredim | not the livecd environment | 05:41 |
jetsaredim | I can't run glade on my dev box since gtk seems all messed up | 05:42 |
cjwatson | oh, I suppose that would explain your problems | 05:42 |
cjwatson | ask Riddell maybe | 05:42 |
jetsaredim | right | 05:42 |
jetsaredim | Riddell? | 05:42 |
jetsaredim | found | 05:43 |
jetsaredim | ok - will do | 05:43 |
jetsaredim | thanks | 05:43 |
=== jetsaredim is extremely new to ubuntu/kubuntu |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!