 Okay, welcome to today's somewhat foreshortened live demo session, we've got two entries. The first is Thomas Lager, Mr. Fai. Okay, thank you, Manetti. So, I want to show you today the Fai CD, the different things a Fai CD can do. First, this is the web page. Fai is a fully automatic installation. And as you see, you can just download an either image there, or if you go to the Fai CD submenu, there are several flavors. What? Zoom in. Oh, zoom in. Yeah, okay. So, you see, there are different flavors of the CD. And with Fai, we can install Ubuntu, Debian and other things. What I now do is I start a virtual machine and boot the CD. And you will see a simple grab menu. And then we select the client installation. And it asks for a user and a password, but this is only because it will wipe the whole disk. So, after you enter the password install, you could not blame me to say, oh, my disk was wiped. So, Fai is booting up. And then we have a nice menu where we can select what we want to install. My first Fai installation, the first thing is just a very simple Debian system without any graphical user interface. You can select the XFCE or the GNOME desktop. You can also install CentOS 7 or Ubuntu. On this CD, we have all packages that are needed for the XFCE and the GNOME installation. So, if we want to install CentOS or Ubuntu, it will need network access to get the packages from the network. But for GNOME and XFCE, we have all packages on the ISO image. We have a short description at the bottom, what this will do, a fancy XFCE desktop. And then there will be a account created. Then I just have to enter it and say, go on. And then you see the normal Fai installation. First, the disk will be partitioned and then the packages will get installed. And then I do not have to do anything. The rest is just working fully automatically. Fai also supports network-based installations. And if you want to set up the Fai server for the network installation, you only have to use two commands for creating this ISO image. So, this is very nice to have the same process for the network installation, for CD installation. You can use it for bare metal, for virtual machines, for setting up change route environments. Yeah, it's always the same process with the same features. And that's what I want to show you. And it's also very quick if you have a fast machine. And this virtual machine has its disk in RAM, so it will be very fast. Maybe we are under 100 seconds to have the XFCE desktop installed. Yeah, any questions so far while this is running? Why do you call it my first Fai install and not cloud-init or something really fancy? Yeah, I think I will call it cloud-init in the enterprise version where you have to buy licenses. But in the community version, it's called my first Fai installation. Is this using Padman for the partitioning? No. Fai is not using the Debian installer at all. It uses the preceding thing, but what we use is an NFS route thing. So we made our change route environment. This is the running system during the installation. And there we wrote a script that reads some FSTAP-like configuration file and then executes the part at commands. So we are not using the UDEPs from inside the Debian installer. We also have, for example, a butterfs support or LVM rate. So as you can see, oh, it took 150 seconds. Normally, it's like 105 seconds. Everything went fine. I added a stop here. Normally, we could just say, OK, finished reboot. So one more typing return into reboot goes back to the grab menu. And the main entry is boot now from the first partition of the disk. And when we do this, we get the normal grab entry. And then the machine starts. And you will see the desktop. I've created an account called demo with the password Fai. Yeah, it's a demo. It's an unsecured demo. And what I added in this configuration, normally I do not install GIMP by default. But in this configuration, I added the package GIMP so it was also installed. And I could redo this also with the GNOME desktop and it would do the same thing very fast. And for me, what's very important is that you can use Fai for the different things. So for bare metal, for the virtual machines, the change route CD or USB stick, as I said, only two commands. And you create the bootable ISO. We can also, I've once created a live CD. So this is an installation CD, but you can also create a live CD with Fai. And currently, I'm working on the enterprise version. And that's really very easy because we have everything in Fai. So we can also create cloud images in maybe in a week or two. So that's it. Another question. Yeah, you mentioned the enterprise version. Can you elaborate on pricing and licensing and stuff like that? Oh, it's very expensive. Yeah, a VR2. So sort of this. Yeah, another question. How hard is it to customize? So if I want to adjust to my own needs? Yeah. So anything about the configuration files? The configuration files. These are all text files. And they're divided in the different parts of the installation. So first we define some classes. We have like building blocks in Fai. So you can define a class web server or department A, department B. And then we have a subdirectory disk config, as I said already. The disk config file is similar to an FS tab. So where you just described, I want a primary or logical partition, the size of the partition you can define. What is parsing this and turning it into parted commands? This is our own Perl script that is parsing this one. Yeah, it should be very easy for the user. And even the LVM, I think here's the LVM example. If you once read an example, I think you could just write down your own configuration. And for selecting the packages, you just write the name of the packages into a text file. That's it. And in the end, the customization script, we use mostly shell scripts, but you can also use your puppet CF engine or whatever configuration management script that you are using or are used to. So it's very flexible. But yes, the most part is to do the customization script if you have very elaborated environments. Okay. That's it. One more question? No? Okay. Then up to the next one. Thank you. Yeah. So the actual, the main presenter for the next live demo, isn't he? He's in Korea. However, his glamorous assistant, Bremena, will be helping and, you know, standing in for his presence. I'm just trying to fill time while he's setting up. Oh, yeah. Lightning talks. Everybody, well, you know, within reason, everybody should submit lightning talks. There is a session on Thursday. There is another live demo session on Friday. Please send mail to islighteningreal at debconf.org. The address is also in the announced mails every day. Please do. I'd really like some lightning talks. You ready? Almost. Can we get the check, and it was different before, but never mind. Okay, here we are. Wait, I haven't announced you yet. The mic is over there. We know you can yell, but really. So as soon as he stops breaking the audio. Sorry. We will have remotely Sean Whitten and locally David Bremena talking about something. Something. Okay. So I guess some of you use Emax. I see, I think anyway, yeah, you know who you are. So there's this thing called Malpa, which is sort of like the Wild West, but it has lots of useful packages in it. 3192 packages. It's sort of the anti-debian. They always package from get master. They don't care about licenses, blah, blah, blah, blah. So we wrote some tools, Sean and I to make it easy to find my windows and bring these packages into Debian after passing through a human in the usual value-added way that makes Debian worthwhile. So Sean is going to walk me through how to use the tool that he wrote. So by giving me things to type on IRC and I'm going to bravely type them into my computer and this is going to be entertaining if not educational. What could possibly go wrong? I mean, assuming Korea is still on the internet. Right. Well, I don't think Sean's the missile launching type. Okay, what could possibly go wrong? I think somebody already said that. So, okay, it's a little hard to see here. Let me get rid of IRC and we'll bring Sean back in a minute. Oh, I should split the window the other way. That would be smarter. Okay. Oh, that's probably nausea inducing. Let me bring back IRC. All right. So now we have IRC up above and my blind following of Sean's commands down below. Okay. So I just cloned this repo from GitHub, which is where most of these projects live. Now Sean is in a minute going to tell me to change into the directory that I just... Space and time. It's a timey-wimey thing, as Dr. Hu would say. I'm done, Sean. The IRC has a lot of lag. Okay. That's confusing. I don't know how botnets manage this. I can barely control one computer. Okay. So we're just messing about a bit because this repo is slightly messed up. Okay. So Sean, for whatever reason, wants me to make a master branch based on the tag 4.0. And this is his plan for accomplishing that. I mean there's probably other ways to do the same thing. All right. Okay. Great. Best slide plans. I told you this was going to be entertaining. All right. So now he's answering your question, which luckily he's answering the same way I did. So that we're not contradicting each other. That would be embarrassing. Even sorrier. Okay. So I'm pretty sure I know what he's going to tell me next. Okay. So this is the interesting part. So we're going to vote this tool. Who's used DHmake Perl? One. Nico. Thanks. Okay. Thank you. Thank you. Okay. So this is, if you think Perl and Emacs are both scary, horrible things, this is the tool for you because it's a repurposing of the Perl tool to package Emacs things. So, I mean Sean did a bunch of work, but he started with DHmake Perl. All right. So probably easier. So, and it has an option which says use the options most suitable for the Emacs team. Oh, see now he's getting ahead of me. I'm talking too much. All right. So that didn't give too much output except to say, dude, you're a Debian maintainer. You should actually look at the output of this tool. All right. We're going to have to pick up the pace here. Less comedy, more action. Okay. So I just committed the, blindly committed the output of the tool, which is of course a terrible idea. Yeah. Okay. I hope we don't run out of time here because he has this whole quilt idea. Oh, the tension is killing me here. I'm tempted to cheat. All right. So the point is, is that upstream screwed up as upstream does. Okay. So he says edit by hand. What? Using what? An editor? Oh yeah. I forgot that Emacs does that kind of thing. Where though? All right. I could use said from within Emacs. Yeah. That would be funny. All right. Is there any other? So there's sounds like just the one, but let's be sure. I missed the important one. Of course. Upstream. You're making me look bad. Okay. Yes. Okay. So I, I think I got it. Not yet. That's a good point. Okay. So then where's my shell? All right. So what was my package source? In fact, it's source minus, minus commit. I have no tar ball. Help me out here guys. Maybe I can just build it anyway. Okay. So that more or less worked. And the thing that Sean wanted me to point out is that we've built infrastructure to make sure it runs the test suite. So yay, running test suites. And this is so if you use these tools, it's always run it, build it running the upstream test suite or it does its best anyway. So we built a package and I'm not going to type SU do inside Emacs. Sorry. There's only so much trust in the world. So I'm installing the, the package that I just made. If I can remember my root password. So all of you shoulder surfing on the stream. Help me out. Okay. So, um, can I have zero 30 seconds? Right. So, um, so one of the things about the packaging tools is that you don't have to edit your .emacs or anything. So now I can, um, if I could remember the command, let's go back to the other screen. What am I running? Help. Oh, yeah. Right. Thanks. A, B, Y, uh, go to character. Character L. Okay. So I don't actually know how to use this package, but you can see that it was doing something. Right. So, um, all right, we went from get clone to running the package in 10 minutes. And I could show you the packaging is not too awful. I'll stop. Thank you all very much. Uh, yeah. Any questions? I guess we've got time. So anybody on IRC from Sean, don't ask me anything hard. Okay. Sorry. Comment to the speaker. I think that must be for Thomas. I don't even know what a desktop background is. I'm not sure it's possible to change the desktop background, but, um, I think I don't know how to change it because I do not use a desktop on my machine. I guess there's some GNOME config command that you have to execute and then give it the, the new image that it will put on it. And, but, but normally you would do this command inside the customization script of five. I don't know how to change the background in GNOME. You can put this command in the script and it will be executed during the installation, but please ask the GNOME people how to change the background in summary. Can you just summarize what you've done? Sure. Uh, and how you got from the, the kid repository to the package. Sure. Um, so, uh, the first step actually, which was invisible was we wrote some dev helper extensions. Um, so there's an extension called DH-Elpa, uh, which basically does all the build time stuff that we need to make it easy to package Emacs packages. Yes. So that's in, in testing by now and we'll be back ported soon. Um, the tool that I demonstrated today, um, generates a skeleton Debian package that uses, uses this helper tool. Um, I don't want to minimize that, but both, both pieces are important. Thank you very much. Um, reminder to those just tuning in now, live demos Friday. Um, those are, there are currently four slots available, 10 minutes each. Uh, Lightning talks Thursday. There are seven slots remaining of five minutes each. Um, please do write to me and yeah, see you then. Bye.