Packaging FreeBSD base system (1 of 2)

Video in TIB AV-Portal: Packaging FreeBSD base system (1 of 2)

Formal Metadata

Packaging FreeBSD base system (1 of 2)
A rainbow bikeshed
Title of Series
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date

Content Metadata

Subject Area
Use pkg(8) to distribute, install and upgrade the FreeBSD base system. This talk will describe why packaging the base system, and what is/was need to be done to allow packaging the base system: - Prerequisite changes made in pkg(8) to allow handling the base particularities - Prerequisite changes made or needed in base build system to be able to create sane packages - Granularity of the packaging - Plans to satisfy most of our users: embedded who wants small packages, old timers who wants big fat packages, administrators who wants flexibility, developers who wants to be able to provides custom packages for large testings and all others. - What new possibilities/features will packaging base offer to users.
Email Freeware State of matter Autocovariance Weight Software developer Projective plane Physical system Identity management Systems engineering
Multiplication Freeware Weight Usability Bit Right angle Infinity
Chain Server (computing) Freeware Component-based software engineering Different (Kate Ryan album) Weight Set (mathematics) Basis <Mathematik> Maxima and minima Affine space Mereology Physical system
Freeware Weight Software developer Computer file Water vapor Infinity Chain Software Telecommunication Hard disk drive Cuboid Spacetime Physical system Condition number Library (computing)
Heegaard splitting Coefficient of determination Freeware Kernel (computing) Kernel (computing) Weight Internet service provider Energy level Basis <Mathematik> Flow separation Physical system
Mechanism design Freeware Component-based software engineering Link (knot theory) INTEGRAL Kernel (computing) Weight Open set Macro (computer science) Local ring Compiler Physical system
Area Email Freeware Run time (program lifecycle phase) Computer file State of matter Software developer Model theory Binary code Debugger Variance Flow separation Symbol table Coefficient of determination Different (Kate Ryan album) Kernel (computing) Website Metropolitan area network Library (computing) Condition number Physical system
Email Building Installation art Code Weight Source code Set (mathematics) Semantics (computer science) Optical disc drive Mechanism design Flag Cuboid Error message Physical system Area Email Linear regression Software developer Computer file Gradient Feedback Solid geometry Bit Category of being Repository (publishing) Phase transition Mathematical singularity Configuration space Software testing Right angle Arithmetic progression Physical system Electric current Reverse engineering Asynchronous Transfer Mode Booting Point (geometry) Laptop Server (computing) Freeware Software developer Disintegration Denial-of-service attack Branch (computer science) Portable communications device Number Revision control Chain Root Authorization Software testing Configuration space Default (computer science) Stapeldatei Graph (mathematics) Weight Interactive television Content (media) Directory service Binary file Doubling the cube Personal digital assistant Network topology Revision control Routing Library (computing)
Group action Presentation of a group Scripting language Confidence interval Code Weight Plotter Execution unit First-order logic Water vapor Heegaard splitting Medical imaging Mechanism design Spherical cap Videoconferencing Flag Information security Data compression Physical system Scalable Coherent Interface Area Scripting language Beta function Computer file Feedback Gradient Binary code Sound effect Process (computing) Numeral (linguistics) Phase transition Configuration space Summierbarkeit Right angle Information security Alpha (investment) Electric current Point (geometry) Trail Freeware Perfect group Computer file Branch (computer science) Student's t-test Element (mathematics) Number Revision control Term (mathematics) Configuration space Default (computer science) Stapeldatei Information Cellular automaton Projective plane Code Directory service System call Word Inversion (music) Personal digital assistant Iteration Musical ensemble Routing Flag
Installation art Run time (program lifecycle phase) Length Code Weight Multiplication sign Equaliser (mathematics) Direction (geometry) View (database) Peg solitaire Solid geometry Mereology Usability Kernel (computing) Military operation Flag Error message Descriptive statistics Physical system Scalable Coherent Interface Chi-squared distribution Area Metropolitan area network File format Software developer Computer file Moment (mathematics) Electronic mailing list Bit 3 (number) Mechanism design Type theory Arithmetic mean Root Numeral (linguistics) Ring (mathematics) Uniform resource name Configuration space Right angle Figurate number Physical system Asynchronous Transfer Mode Asynchronous Transfer Mode Freeware Pay television Ising-Modell Computer file Disintegration Data recovery Division (mathematics) Electronic mailing list Content (media) Distance Root system Product (business) Revision control Root Network topology Energy level Macro (computer science) Default (computer science) Execution unit Information Directory service Binary file Word Kernel (computing) Algebra System on a chip Network topology Mixed reality Video game Vacuum
Point (geometry) Dataflow Installation art Freeware Computer file View (database) Set (mathematics) Branch (computer science) Disk read-and-write head 19 (number) Forest Computer programming Reduction of order Integer Configuration space Information security Library (computing) Physical system Area Multiplication sign Execution unit Building Computer file Binary code Bit Ultraviolet photoelectron spectroscopy Directory service Frame problem Kernel (computing) Personal digital assistant Video game Configuration space Software testing Right angle Figurate number Physical system
what name so method also I work for the development of the system engineer and I'm here to tell covariates packaging based so and what this is about since I started the new package manager and received a lot of a lot of mail from people asking me can we package of system that can have great things we can and decide on how we what we on what we can start etc. so I figured it was a hot topic which happens quite how often in the in the history of the project and I went to the many many thousands of people they do states it well basically it's
a little bit like this good so I tried anyway to to figure out what people were expecting from that's
end while basically there were people were there please do not that ever ever touch how we do provide for the right now and all those people from that the 4th review the 9 it was created on different multiples sets that you could choose to install not so it was already stated somehow then we have people that
ask us can you allow us to have to have a very very minimal inspiration in practical or affinity really are you don't want to insult all differences that we have the basis then we just want the minimal binary set we can we can we need to run the system
we use a lot of people that phase I don't want any thought on my server so why wiII cont we just instead review the without the coaching and already to but the people that say I don't like some may only once and then being style of the like having the I've been thought or whatever components which are part of the base system and more of than to be installed but they on the rest of the system we have people that they don't
want any development 5 why do I have those a 5 that takes a lot of space on my hard drive or those edge fires water and then we
have people that say is I don't having and in the communication out all of my system because I have been I have whatever I have another box where the condition and thought so here I don't want and there's people
that say OK that's cool I installed the free the release and I want to actually to be able to devote things but we don't provide the 5 so how can I install them now that I want about this all this software on developing using the previous the different libraries so
such kind of tricky but I think we can find something which will satisfy most of the people so for the people that has so just not to speak freely available what we could do is we could provide makeup packages which means a very high level package that doesn't stop everything so you have the freedom is the the freedom the package by itself which in some of the the base so issuance or something that packagings operative and you have starts previously has to be and that you be will be that if you just on the basis that because for example you're in stunning just the data the kernel then you have a package package called the days you have kernel which could be separated the dogs and we could do with a set like this like many more acceptable so for people asking about this this we can provide the same behavior or on solution that what we have right now for people that want to
not they to have a minimum separation we can provide a major package that make sure that you only have what you really need to run your system and it should be something and then you have all packets to a great by splitting the base system into smaller package we can also
decide that we have a package which is dedicated to bring the 2 which aims to bring that they here to bring and the link the compiler or whatever m sorry is a lot of
components we have trade that may or may not people may or may not want to install in the system we have a lot of a macro local markets in the build system that allows you to archery exactly what you want and in your final installation so we want to provide the same mechanism for people using a binary inspiration or when there right so for example some main could be moved into a separate package so it be still the integration we have seen many in the base system it would not be the stocks and then uh from upstream you insight when you want send goes from open SSL beehive and enlargement of tools we have in the system we want also to
surprise the runtime from other development 5 so I know this is 1 of the strongest should form this discussion because of all the repressed states while I have this library I want to happen anything at all the header and in all of this and so why would I have to know that any developer saying that goes with it but if you think probably believe we have the makeup package development so if you have doing développement you just like agents of development you have all the headers although a file you have all the coaching that goes with it because it would be dependency so basically to development you will have you will have or you expect from from the system that people on embedded area would hardly have the runtime model which is what did you expect the recommendation and we already have insects which is called the condition basically it's only and everything which isn't shared dogs uh basically most its papers and the conditional variance various areas of the city center of free previously the having a package of producing the packages concern only the manpage makes no sense of them and it would be along with the rent but with the impact of development given the kind of man educators and that document different at the docks package will put constant exactly the same as the duck that we have today and we provide
something which we have never been able to provide them to now which is for every single packet that has a binary were polite symbol as separate binary so if someone has a problem as a site for them on a binary they can promote the conditions of that those that fights started a burger and try to figure out how to backtrace or whatever to figure out where the problem without having to reveal the system with the debugger activated hope that basically how we want to cover all the requests from I K I could find all over the place of the users
so why do you want to package the base system we want to back into the system because we want to be binary grades right now we have only 1 due to the binary grade it works its previous debates and it allows you only need to upgrade your system from to get secreted resort to get from a release to release but if you're someone that want try current all trackers double reversion then you have to build with everything from the from itself and this is not really user-friendly so if you want to get more people involved more people tracking hand more people tracking stable the needs to be all those users needs to be able to have a greater system is already and keep interact with that branch they want to test and this was just 1 of those as well to get more feedback because we will discover the issue we have we stable more before we get into the phase we want also to allow people either said before to do 5 fine-grained inspiration and we want to a low of developers to be able to provide a new set of package so imagine in the that's at the beehive people want to allows the user to tell want to use that to test a new version of the hive that alter committed yet because you're not sure about some part of and what it could do is create all package of beehive with the build system we have put it somewhere on the internet and say to the user can you add this repository to you package for progression you package of grain and you get the latest due to make this tiny height and you will be about a dozen new features before them into other based system that can also applies to to test a lot of things like a you suppressed this library or a new imports or a lot of things like this so actually we could have more testing done before the code is hitting the generous Austria that's also to a fine-grained merging of configuration find which basically means getting rid of those are MergeMaster and edition dates right now every single indeed indeed ETC directories is trying to be merged even things are where there is no reason to merge and like all the content of article D on the content of the default directory and sing that is we use packaging days what we can do the picture peak which 1 needs to be merged because the user is supposed to be modifying it and which 1 we always be overwritten and what I spend a little bit later how it works and how it simplifies a lot of things and we have a huge problem right now when you install it's basically everything related to the mother is half of but not entirely addicted so assuring occurrences them for a while you look at what are your mode of authority and stuff like this and you discover that there be different than the 1 you have in in the other given how it depending on how you your grades so the fact that the fact that we do packages use we make sure that we regret the holders and the configuration and style with you so the goal we have these we
want to make it very simple to very simple for users to generate packages so basically we wanted very high the target at the source of the of the source of the at the root of the source tree where the user just running neck packages it will do every single well install this in a staging area create the package is progressing and then put it in the and in the place where you just have to put up on your http server or the way you want to provide this packages and there would be ready we want to allow to build as a regular user you don't need to be routes to build to build those packages that we roots with amenable to route to to use those packages but the regular user we just take out the tree and make packages and get those packages ready and you can start an area where you want we want to reversible builds and reproducible packages so that if you're the central even twice the price essentials then you get twice the same packages with the same checksums ends and the thing that is which we will allow us us to do a very simple things are grade on will person by mechanism to be able to do secretes updates and an error tolerance and sing that this without having to discover that 0 magically despite hasn't been modified because 1 of the headers in batch and we didn't know so in that case because properties we can go through all the fat and say OK this 1 is different from this 1 so this package has been modified by my modification by modifications so I will just but the version of the package and the user we just installed the new we want to earn some dough that was the automatic them other right pocket infection we want to automatically handle all the graph regression 5 so basically the package knows what goes where and what needs to be merged and we wanted to be crotons done about so I am only a minor system on him and 64 and I want to build packages for my box so what I do is make package with semantic flags to do that on our acrid those packages and then I can use packaged but foragers directory and inside everything in there and I have a directory farm and actually that works and what does he have done it is we also want to be able to a greater number books on the cross inspiration weight so basically you have wanted right now and it works is i have a probable that home and have a is the chart where I have set up a free the with the package is if I want to upgrade the building nearby can delay in the 64 I removed the the got from uh my portable put into my laptop knowledge package of great Dutch odds is the is the tree and then amount I can read it's ready to be usable on my new point of so
how we want to do versioning if we you're splitting the package is that we need to make a proper version so basically the version even for the company like Open SSL like some Lacerta we represent the frigid version and not just from inversion why because we may have by them when they are we want to make sure that the user knows that this is the version should we use for it is version so whether to use when we're talking cure and so the goal is to really the 4 1 0 that's why current is 12 here so when we're talking cure and what we have is that if we have to be the major version here as fast action and the date when it has built so instead we have a grade then you have all the packet to install when we're tracking instable branch we will have this mechanism so we have the murderer version the minor version of all the next release and special saying that we are in a special between this reason industries so a user being trading stable knows exactly that the stable version has is a version which is after hours of this reason before this release and for the reasons what we do is during the out of phase we have the 11 . 0 which is really is a 45 and the number depending on the number of iterations reasoning is willing to do on the other phase said probably there we have just a special 1 4 which instead of using the or which is the usual on thing for our 4 or serious candidates on package will use PE because people could be confused with the word reason thinking that an element that 0 or something should be would be actually really then the reuse itself would be the number of work as you expect and will become the latest version of the and this version here so that the security fixes system we have to create a fix by the way that matches so how right now we do Hinduism and market security fixes security issues so Newton's need at this point is yeah I know but I think it is also true that the sum of the areas in that year year that would work we have confidence in the islands so I like OK what really great for that would have something when now are what I said that my kids don't know yet ability but the 2nd thing and that it was so we are at the beginning of this project so this is exactly what we want those kind of feedback so yes someone can they can somehow it's 1 we of the video for the budget what the people
thing so when by giving them a system a discover that's package was not good enough to do everything 1 of the sea is back in the base system we have a couple of immutable flight systems some some binaries we do not have that in the 3 at so that basically packet had to although so that before building a fight sexy there is a new the about 5 flight remove it and the new file and re add unit of like if it is in the new package so that something we have had it into we have added into pocket and 5 and we had we need the ability to handle the confirmation fight and merging of this is tricky because I really really really didn't want and the to make my own numerous rumours code and the and stuff like that hopefully that there is the is the license and this year's available out there which is named fossil and the code of doing that plot was for the isolated so I was able to extract the code from the falsity year's bring that into a package so now we have a new keywords in the police and the police so PVCs other lusophone will have an ability to its packages and sky contain keywords mean that OK if something as this keyword before then keep a safe copy a baseline all that while the fight was installed and follow 1 of the fire into the system and the user generated during undergraduate figured that the we were given to have the baseline the new 5 and the modified from those of you that we are able to do the merge yes so when we wouldn't change a lot of things to use as you see in in that case what we do is having 5 the default would be somewhere and it'll be a and we don't have to touch the 1 modified by the user so I won't have to to tumorogenicity so this is more to handle the things that are the same they are and more upgrade where are those the configuration file and the default provide a are the same 5 so we need to merge and there is no agreement on all of the our student compared DE for example where we can put seems or I but it long term we should have a less on this outcome the fires and have a say in a way to handle the compression fires so and some people might not trusts the SRI where vertical to do the proper merging for them so we added the strong notion in package so that if you don't like the idea of Europe you can deduce bullets and what package review it is it would create a fine along the along with the with the fight fight and which we need build new so that you can use to contributions 5 and say OK there is the new are we merge myself features are more confident with me that with the American and we didn't support for presentation right now presentation on package was done stitch routes so we had a placards batch lossy at the artery and it was just reading inside the directory why it works it's not perfect it's perfect because it does not follow a regular user to decrease inspiration and walk through the use of the sucrose information is not perfect because it so it mean that because the search for this year's footing very early in the in the process then your back had to be also in this year's shrewd and you with your world the past to involve the package you choose should be relative to the uterus so that was great so we added something which is the Dutch or so please don't do that we sports yet because port has no idea how to do that properly but the base system is able to do that properly so that are we just say that this is what will be marked directory In some everything in there and be done yes in that case you don't have the immutable flexed that's probably issue and coming to the cell and the last the last point is what are the repression of that so 1 of the blood which is not done yet is that package will also be able to inmates entry so that when you your immutable flags and whatever 1 your person saying as a simple user you have entries so then when you run make effects or whatever you can fit it to the entry and the generated image has a proper rights that work until all the fights the facts water so that the person that is not implemented and that something happened to implement 4 1 6 and the thing is we will we have to uh generates 2 to indicate the couple of comments at the end of the of the inspiration for example of what we want to work in solving the call so we have to run Jack thinking cap in KDD on needs to generate that that defined so we added that those created into package but if using to inside of the seduction or in that case you will need that the script to be aware that where is a director there were directory there we go to the music of the common from the also and I generates inside the house and if so
how do you who came to the build system the goal was to be the length the lessons to receive the distance 0 as possible and it's kind of tricky given how is usable system right now but I think we managed to do something that the bad so 1st we need to be able to figure out which file used to reach packages so for that that's that we discovered that we had the flag which is then no roots which would probably be renamed because it also known as a confusing for users that roots if you run it on as root system doing something so basically what it does is it the forces that in some common generates and tree uh we also what is being installed a ring and so on so with that entry what we get is we get list of the find that should be back at at the moment and we get the most out there should be running on the flags that will be using and all this stuff and the entries since we added to the I think because of the that to use and that is the uh introversion so Brooks might know me better than I do that on this spot but it has a nice feature to be able to have tax so we have users strikes and what we do in the end is its fight when somebody tag we use a couple of facts to make play to explicitly say OK sisters a configuration file you should go into a package name that way and this is a development find whatever this allows us to accrue to generate automatically have a small part which converts them which would entry into something which package that want to understand so into the police and the way that we don't have to be maintained manually is a list of files that to its package next that is 4 packages in India that we don't have yet in the sense to me that I'm in we need a name for the package we we need a government that explain in the short version where the package is about we need the large description of the package we can put the license so that also mean that we can treat each of the information based lessons you want to go on to the easiest 1st just to let you just have the information that this packages in the and for that we have we use the UCL format so we added a new directory into the really the recovery where package is where we are defining all you do is you that's also in those use unified that we describe the Boston solid subscript and we had a couple of target to simplify your life so all of the new targets is make the world's 3rd world is a bit like a a mix of informal world and this a ritual so in some on in the touching of all the configuration file this is doing it so what we do is we decide to sort everything into sitting area including the including the ETC 5 then from this understanding area we create all the think it is based on the MIT we have we have obtained so based on the entry with the and we have the high level of we have a 4 that's 1 of the 1 of the target here we have a target which is create won't packages so unique read the packages from the world expecting you have already ruined said well you have the simple kernel also stage create column packages and the height of the packages will do everything from below some words that belong to world create all packages and
so how do we populate the tags all over the place so 1 of the thing and all to do is to go to every single may find we have built is there time only because it's painful so hopefully most of the bit binary we build this into the runtime package so what we do in these have been into all the views to you got something that they and trying to figure that the moment they install what kind of thing is being installed so we find is the the product and K and I can say OK by default type is packaged but if I'm in if if i in B is that the thinking the as so far and a fight is going to our runtime but there assuming and the a file going to development and so I mean it's true those fires and just and that the the text automatically so we have basically 3 kind of times we have to get a tag which begin we stackage so that basically the name of the package is seen and this this means that in the end it will be freed the direction that we have development this is to note that we will make the same package except we add development and to it and all those that in the same package that we have configure and conflict is not related to the package name it's related to to what I said before this is going to be merged now all you want to cherry pick your fights you wanted me to say OK for this particular case unwanted and the fall from user and time but I wandered into a package let's say effective because the beehive I want a package dedicated to be so what I just have to do is a numerical code package I had this macro and automatically and have a tag here which will be a package equal macro those those 2 4 2 that's will continue to be shipped automatically depending on the kind of funding so it just have a good to go into the directory you want to separate from the full time I this macro and you have automatically in new package and because you we always for to admit that the when you create a new package the build fails on proposed saying that you can find them make that up if you haven't done it so you just doing the release packages and created that the find that matches a new package of creative that's basically Harold how we hooked into the best so that we have a couple of issues yes you you you you would not what yeah yes as in the like that for the as yet light you going to make fun of being at the will and every single this directly automatically into it so no here is the issue we had when dealing with is unknown so by the way this is the we know it has a regular user that issue we have so I don't know yet I haven't figured out why right now but when we do in fact entry into the stages sending a realist through the regular and thorough world what we get is so we have those error messages which are expected so how because of the rights we applied but it is not very nice to see when you're rolling so that need to be so wonderful the other thing is why is out putting this into the as the notes and no it's Aurora the and I was trying to figure out only also redirected 2 to 5 and I couldn't get them the other thing is that we have a lot of we have not not merchantable flights anymore but still we have some and uh you have sometimes this stuff happens which is logical because we do 1st and saw binary with the mode word through them and then we tried to apply search and it's so it's so as rooted in medically hidden that we need figure out and the other thing is is we have our means that on some files where we applied the CIA flights being the fact that the fight is immutable and then return to a happening on it which would favor of abuse and Ising after solve them about enchanted to check out some of the thing about using the n stock common and if you're not using the info command then you are not ending up with you'll find inside the entry so you're not able to figure out that these fires need to be taken to be committed to being a package so we have also a
couple of issue with a broken which in my opinion of looking at in the in the way we do in stalwart what do well which is kind of the work it's please someone have a look at those 2 guys and figure out why they're up the keep what the white but if someone can fix it so it would be better they keep in fighting the same fight all over the place so given that you have to program you want to be alone and you can start a fight using insonified that because there is too programmed so far been found twice now you have 3 program to find be insects retired and then when I tried to build the packages I go lot of role of seeing like this which is very in my puts and the like to see that so someone want to fix it so that would be great because of this and thank you for this so want so the last thing was the thing is a confirmation fight that they only thought where I can add cherry which configuration file where because we have populated although integer directory in our place reordering very strange magic over their black magic it would say a that it's really not maids to 2 is to make easy the life of creating packages and and the settings is good that places this at these least it this at this so I think we we we really should give a new approach on how to do a competition financing about this that I don't want to maintain them that might be there may be the way to I wanted something for you demanded as much as possible but just somebody not durable and we have the following year because of the fact that the flow of all of the head of the actually quite know what actually sing that of most of the entries in the directory should not be there is there is on that places because of merge mustard sedate or way when you doing some work to merge things because the frame for example adding configuration for the day GMA binary we in Solomon but from the beginning directory where we build the MAY NOT studying the competition from from this place it would make more sense that these could be used to reduce configuration file except that in that case the old and some were way of doing things will not work so maybe while there is something to study in that area and various couple of issues that is you can think about it and provide some idea to we regretfully OK so from the user point of view what would happen if you want to upgrade your system to the latest security updates or to the next step of the branch your following the death the package of great weather the debate and if it's cold but they tend they're probably want to reboot that basically that's so you have to mark forest couple of things here would have to discuss on how to do that and at the end of the kernel is that it can be a bit tricky it's some people expect different things so nothing has been decided yet of how exactly we on the left and the right we probably are kind of some of the main needs to get something which fits with most of people but for the


  531 ms - page object


AV-Portal 3.21.3 (19e43a18c8aa08bcbdf3e35b975c18acb737c630)