 He might talk in this morning, because early talk is always disaster. We was rushed on the way. And thank you all for your help to solve the problem for like a power charger and the projectors. Okay. Before I started explaining about the topic open build service in Debian, what does this mean? This means that, you know, that the open build service OBS is developing by open SUSE. They have a platform to build the distributions. And then, um, because we're using this a lot in at work. So, uh, our employee encouraged me to make an official Debian package. So I make a few of them and put into Debian. So now we can, we can set up infrastructure by OBS with Debian. Okay. So this one going to use OBS or not something we just courage it about what OBS is. I will mention about this and it showed some fitness features, examples. And then in the end, I will, um, give you some, um, tips on how to optimize and how to integrate this, uh, infrastructure into your build environment. Okay. Let's start the talk. Okay. I may introduce myself. My name is, uh, Andrew Lee. Li Jianqiu. I'm from Taiwan. And I have, uh, lots of experience, um, packaging RPN and both Debian package. And I become, uh, Debian developer, um, 2000 night. And then I, uh, at a lot of time I was, uh, helping to developing, uh, LXDE. And also I maintain all the LXD packages in inside Debian. And then I also changed the Debian installer to make LXD, uh, become the optional in the installer. So become LXD become popular. And then, uh, nowadays that I work in the, uh, building infrastructure team at Carabara and the Carabara, uh, well, I work there more than five years now and, uh, and I use, uh, OBS a lot for building a lot of different, uh, um, packages and also create distributions for our customers. Okay. Let's look at, uh, the agenda today that you can get a, uh, overview of OBS and I will cover the benefit of using OBS and show you some less, uh, workflow for your, or packaging and, uh, releasing your software needs. And it's one that, uh, OBS architecture and they show you how possible to scale with more, uh, began, uh, workers and the builders with the different articatures. And at the end of that, uh, give a few topic about how to, um, set up and also how to integrate this into your view environment. Okay. Let's, uh, into the overview. Okay. Before we do get the OBS, let's look at the classic packaging works. Here is the sample that if you want to build, you want to build a package and for your customer, you need to build the ones and one architecture and then you need to properly issue the package on the website or somewhere that the package management system can fetch the package. Right. So here is the sample that, uh, you build on the, uh, and the 64 and the distribution is a David and JC. So you need to build. You need to create a clean chute and a build and then you have a clean. Then as long as that the time that your customer have more requests, so you need to build the one source package into different, um, distributions. So you may provide that, uh, a different binary. Now this is the sample that you need to maintain a one source, but different clean chute for different distributions. Like he example that you maintain a David and JC and stretch and the 64. Then you build twice and then you upload and then you publish on the site. Just imagine that you get more users request. You now you have a, no, uh, you need four views for different, uh, caricature just add a one caricature on two different distributions. Now you need to maintain four different clean chute. Here's a David and JC, David and stretch and the four, uh, and the 64 and the eyes, three 86. So you need a different chute and then it become very, very messy because if you want to support more and more, like now you bring the, um, caricatures or the bring a different distribution, even open to other different versions. You want to build one source in multiple distribution and multiple caricatures. It's really, really messy. You need to have so many clean chute. You have to maintain yourself and build a, no, one by one. And then if you build something and then in the middle, you found the sound caricature was failed and you can modify the source. So pervious bill you can drop. You need to drop and then we'll start again because a lot of times, right? So that's fix the max. Okay. Here you see the picture used to, you have a lot of, uh, I know the city have the upload website, but you have the OBS and OBS are automatically doing everything for you. Just one source upload into OBS and then the max fix. Now you save a lot of time, right? Okay. Let's look at the, the benefit of using the OBS. Okay. OBS actually, he benefits that the existing, uh, software project and, uh, uh, for, uh, packages or like even the users in different area. Indeed had different features benefit of the OBS. See the, for example, execution, multiple caricatures. So you can see the picture here, see there's a different distributions here, OBS, it's abuse. So just move the one source upload, then you can build automatically for those kinds of things. And then he also absolutely built automatically published to the website for the repository. So you don't have to build and build, and also, uh, um, so you can have those kinds of things to, um, uh, to maintain the archive. Just imagine that you have a commercial product you want to release and then, uh, before the release, maybe one week, you need to fold, fold in the changes. So you needed some QA to taste the, the, the image. And then, um, there's some backfix. You need to, uh, you can have a release manager or someone or QA to test before you landed the, the new package. So it will be nice feature for, for, for a team to work on the product. And also you may have a quicker view that the package abuse on all your need. And, uh, this is the request that you can see it abuse on the older articatures and the distribution that you requested before you landed the new, new, new source package into a repository. Okay. And then, uh, for, uh, package maintainer for packages, the obvious as benefit you is that he can always use the deep bootstrap to create clean chelute all the time. So you can have a reproducible and consistently, uh, built for your, your, your packages. And if you are user, yeah, because that the OBS generate that, uh, the very nice, uh, uh, repository for F get. So you can just, uh, put that, uh, the sources list in your distribution. And then you can, you know, have, have those kinds of things check the package update. So that the, the someone update in the package, for example, uh, I, I heard of us, a lot of the developers, like the, the very cutting edge that, uh, very, very new packages. Sometimes the internal company, I put some many development environment, but if you use OBS, you can share the internal, uh, development tools. So when people bump a new version and have internal repository, then you can make sure that your development are a thing together. Otherwise it is difficult to deploy that the package on different machine, different, different developers machine, right? If you have a central tools for that. So that would be really nice. But if you, you, maybe you are users from, from your other colleagues packages, right? Okay. Let's, uh, look again for the, uh, features and, uh, workloads. So now you have more. Yeah. Ideas, what, what OBS is. Okay. Let's look at, uh, um, you build against the multiple distribution and the articatures. This is, um, before you can see distribution and different articatures and only one source upload. And, uh, he also supported the, uh, download on demand. Download on demand is like, uh, you want to build that, uh, OBS source package, but he has a different distributions. It doesn't mean that you have to have a whole mural side for all the distribution that you add. The automatic defense, the necessary build dependency from the distribution you configured. And this feature is, uh, do the download on demand. So here is OBS. You can have a, a lot of, uh, uh, distribution available there already, but of course that you can also, um, customize and then build your own. Uh, Hector will talk about, uh, distribution, multiple articatures, but sometimes you have to difficult to tell the binary so you can, uh, also to, uh, add some surface on the, the binary build. So you can put it, uh, uh, the different distribution, then you generate a different name. Like, for example, uh, DB seven point or DB eight. So different version or something you can add an extension in the binary. You can customize yourself. Okay. Then, um, also he has a building the revision control. So the OBS, every time you have a source upload, it tracks the changes that you have a change log there and a different revision. So once you found that, okay, this is a commit or mistake that you can always revert changes on the, on the repository. So it's very, and then, uh, he has an automatically, uh, upload and then you don't have to work about that, that automatically processing for here example, that we imported the whole distribution has so many packages, you see more than 1000 package and he started to, to, to build and, and this is for, of course, it's faster. So it finished everything. It's lower and sometimes it's failed and one of these is unreservable means that missing build dependency. So, and if we click on that, you can see easily on the web page, it show you what kind of a dependency is missing. So it's very nice. You can, you can find the, the host, uh, repository status and what kind of build dependency and you can suppose that the package rebuilds a seat and also package that fails. So it's a very nice tool. You can have a multiple different project and you just imagine that you have different, um, engineer at work on the same project. So you can have the SS control who can, uh, uh, review, who can approve the new package you landed to, to a production repository or who can, uh, download. You can have ACL on that. If you, if something is a secret, uh, project, eternal project, you can limit it access of, uh, the engineers each other. Which is