Bestand wählen
Merken

Introduction to pkgsrc

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
the I can hear myself pretty good I guess you has can hear to excellent and so today I'm going be talking about different features a package source as and soon all of you are familiar with the the package source of Free BSD ports or open new year's eve or some other packaging system like that so today my focuses on package source but we'll talk about some things that might be different areas you'll see is different between another package systems when talk about its portability and some of its schools not 1 thing to known is package source is maintained by net DSP but it is certainly not specific as we get later on I only list a few operating systems on here later slides that show a lot more I should have at least listed Mac OS 10 for example or something here but it's not official like these other ones are a sources little more efficient and
just give you some background on the news impact source of for a long time and it's how I became a net BST Canada I always submitted 50 + problem reports to fit and maybe 50 packages or so and so then I was able to be invited to commit right to the package street is a committed so much work now some of the work I have done with package source so did work professionally for a medical research company and and they had a variety of different software that there was no packages for and so in their Mac OS was a platform and so I just did work on porting a lot of their dependencies over package source and a lot of the software did not get put into the practice forestry but and you have to make sure that all their dependencies a worked correctly on a Mac OS platform for them and also as they're consultants I did a lot of work would be a OS and basically the systems were dying but my customers had to keep on using i'm because they had commercial software and they didn't have any has scheduled to migrate to a different platform and so use package source even for several years to continue to maintain the software on the system production software but also package source packaged up everything that was essential to a Linux distro including the kernel GLM Our model utils everything that wasn't in the package source already heard about from 1 and then I Amelia 100 % billable system using all package source and I sort of fun and it also help me of C edge cases I guess impact source especially with installing directly to slash used for example in trying to make sure that software and didn't depend on the wrong things not as a of created hundreds of packages and I look into my package source new directory as well start my work and I see all manner of like 150 packages in here in the and try to get those all pushed upstream then maintained certainly hundreds others I touch certainly thousands of packages in 1 way or another and also on providing bug fixes improvements to upstream projects it if we make a change all talk about later but it surely share these without string developers package source for several years as had a weekly rotation I've been slacking off a lot this last year but now that I protesting that for several years and basically you watch the artists or problem reports to come in and we do triage form if a trivial thing to fix them ourselves or we'll ask another developer if it'll take that ticket or will give feedback for asking for more information or will automatically assigned to somebody it is good to do a little triage the ticketing system
not very quick intro the
cost factors sources 2 different things but it's a software build framework and as many many hidden things but you know the very basics of fetching and verifying would have fetched but media configure step of build steps but the installation packaging step and then installed then they can see I have so reversed package installed we will talk about later at best a stage
I'm also it's a software installation management system now installing upgrading configuring software removing packages in a consistent manner a package source does not have to be the building only systems have several systems where do not have a package and its use of that the minor tools to install and maintain binary packages and so and it's certainly doable
but a quick history so if previously 1 I 1993 it included and some of the torus sets included source for many popular software and in 1995 those those us or sets were put into an infrastructure which they called ports and you can see it's the same description as it is today known to the directory you wish to install type that make it and let the system do the rest and
2nd source no sports in 1997 I as you can see the school here maybe the person in this room so this quote I'm not sure that but I try to keep things in sync with previously ports but as you can imagine not 2 different systems are different goals and a diverse uh but this is a really interesting here within a couple years an important to Solaris very useful and then again ported to Linux and the bootstrap support done very shortly after the importance of the tree and we'll talk about this now will have some slides right about it that is basically seeing a package source up and running on a different system like Solaris and Linux are
that cut off here but the the gist of it there's different ways to get package source 1 ways you could check out factors source of Eusebius were you can fetch tarball weather's bees in Jesus were against the others so that z and this tarball right here as of today is around 24 megabytes but I think among the off but when you extracted I think it's around 700 or 750 megabytes it's it's a lot
what's extracted coffee is the ball specification files but also has some source code also knows the things that are key for bootstrapping many course also has the infrastructure of files snippets for example so let's talk about the bootstrapping the bootstrapping is portable of the shell scripts make files building installing the dependencies in the packaging framework tools this is portable so ability use it on various different operating systems now a few things that are key the uses Netbios these make which is a you know a derivative of P makes you cannot use previous these and or open as maker dragonflies not just some slight differences it also installs the package install suite which is a low-level commands like package delete package info packages but may use
the net BSD compatibility sham this is library providing definitions of functions missing from other platforms the provides so like BSD isms that they might have walking on a Linux box for example the package install users live archive you know can can stream and different types of archive formats and so on now that's a portable project
and depending on your system there might be a few other things that need to be bootstrapped and is in a simple install strips on knock on net DSPs version of said in the and the public domain had occasional this is because some systems might have a broken shell for example or they might have an AUC is just incompatible said that's incompatible so we can bootstrap and get some of these included but there's other
dependencies also varied they're not critical for the bootstrapping part and they will be installed later on once you've started installing software for example digest for checking out now the hashes for verification by T and FTP by default most of need some way you know it affects the software so idiocies FTP also has an HTTP client and also some patch versions are broken that that hopefully only water in so now this is version of patch
supporting obviously is not the major goal and there is software in the fact source tree there is not for Internet DST and probably never will be and so package sources a way to install third-party software and in some cases that software and nobody in obviously wants to use it but somebody that uses practice for someone to use but of course if it does support years the then you shouldn't have to make sure they're always builds a and also but it not a major role
many architectures multiple versions of operating systems and they might differ headers of course that different system libraries in different compilers and different build tools and so on we're not tied down and to many different things and so that's pretty so this important point when we have the need of poor software over the let's say in and here's the were not going to 1st set specifically dispatch Fernando has the burden of abstract it we're gonna look at it from a data point of view if it's looking for this feature then will work and make it past for that feature were not gonna patches specifically for net BST or the same thing of reporting it over to on Mac OS which are to do the the most generic the proper way a way that we can share it to the upstream and making and committed to the upstream code without breaking their own software I've seen other ports systems where the patches or specific for their operating system not turn take offering this year when the see but very specific to them they cannot share their patch of upstream verbatim because it's specific to the operating system thus important
point and so we share these factors back as much as we can on
platform supported by the 1 thing to notice some of these platforms were done years ago and it's possible that there some people that don't use anymore or if they use them they're not updating their back a source tree that they might be out unlike in use BSD OS is example there I heavily used it and that I have not tested it tested this decade I haven't tested maybe 2 years or so so reason we reason I a few things to point out here and in fact some opera systems only when no freeman for example but on Mac OS 10 there is a package source developer that maintains binary packages for Mac OS 10 and so on and so and hosted obvious company I think join and some of these will use package source right now as the main 3rd parties offer packaging systems of for example a dragonfly
and so the list continues the Linux a sort of generic but I use it on its center where this red had there been and all others use on Slackware and user on a variety of different ones 0 minutes 3 the practice sources sort of the their main suggested weighted install third-party self also join it provides a packages but for this model assembly the see right here in a lot of different platforms and we can bootstrap the older you install third-party software easily on different systems so that's 1 of
the main strengths In this seperate package source as far as we know from almost any other a packaging system there's a few other package systems that are have been made that work with free BSD and Linux in in Solaris but they don't have such a huge team of developers and maintaining and and so package truly but of the most portable we have a large number of packages working on the same code base so you have a portable uniform operation over different systems and so if you learn how to install the software on 1 system the layout of how it's installed the way configurations are by default and how you're going to start stop thinks might vary a little bit but we need to install the same like start-stop strips and so it's a really portable uniform operation but also you might have specific patches for example and so having no specific patches portable across all your systems also there was a tendency
sorry mention some of that and I am also the same thing so the same build options and between different systems 1 thing to note is that no with various
configuration files but by default it was these configuration files and examples directory was very useful for administrator and you're going from system system the oldest the original suggested configurations which might be suggested by the package source maintainer or they might be the suggestions directly from the main mainstream but we install those but on installation we don't overwrite the originals in on the installation it has a simple way to look at examples version and if it if it's changed or not I can can remove year-old configuration and these things are lower tunable parameters messages telling you about this
and but just over the next many slides this talk very briefly about many of the different features that package source says and if it does so many different things and most people don't use all the different features and Bering see examples here by default where the configurations go up if you're running unprivileged mode which still talk about little later it in going home wrecker like that where user package ETC but you can change even to where configurations but maybe your and has a policy of where you need to install or maybe because your backup source is you have some reason and so you can change it to install directly underneath the ETC directory for example or a or under a subdirectory ETC PKG or if you
need to get really fine tune for specific software by the other configurations you can have a setting where you can set for every single software to go somewhere specific on your file system so it's pretty fine to know whales of course in last 2 cases you need a rebuild reinstalled those packages after made those changes and this is another
features and so on of the user as a sysadmin and as a developer there's many cases where a they mean Unix system I cannot touch it's it's standard packages maybe they're maintained by different operator or I don't wanna break things for other developers I mean I I can upgrade their versions of the libraries for the system and so I can do is I could do belongs as a regular user just dopamine in my own home this is very convenient and so but 1st of all the packets source in most cases user groups are very well abstracted now for different software and and so back source and customize the sink create these users and groups as needed and because it's so all distracted you don't have to have many different users and groups you could just use your own user can your own group account and so a Ising see the bootstrap command as a switch called unprivileged and by the fall ill said the prefix so although underneath your home under underneath the director of the however a couple things to to point out so the 1st time you boot strapping ever been terrible 2 on extract and then you bootstrapping and takes a few minutes and then you start installing software the 1st time you're installing software you might have many dependencies installed and so yes it's installing a lot of clutter the main not thinking need but after that you install something usually quick and simple appeal but as you can imagine by multiple users on the same system good install their own packages of fast are not only eyes with little tweaks you can install multiple packets source and installed on your system in different locations also not talk about briefly later
this slide I should ignore but I I will I have to say that I mean there's problems in any system so go through quickly is used as many introduce dependencies of the point of this is if you want to install 1 software it might tie in with something else and so I cannot download the the structure for just 1 program the not look at OK it includes out I would have to download that includes out of the download that so for now we don't know the whole collection and as I mentioned uh 700 megabytes extracted are we use CDs maybe it's not a problem but there's many developers lie lately within the past 2 plus years they use get with package source they do their work out with it but the main treaty that's maintain whenever see a user's CDs and so if you need to do on history are working at the other network connection to the main server for example on the implementation of causal original Free BSD implementation 5th and so we use a lot of shell and we use make and so sometimes I make in the shell put together like that can be an efficient I would say it can be very slow but in some cases it's really quick some packaging is redundant all maybe you already use Pearl tools or Ruby tools or something to install that software as a really make sense to install again with my packaging system in a different location as something to think about and we were we work with different ways to make this claim but still it can be read I think will talk about this later there's too many ways to choose from for doing software updates truly we have like over 25 different ways to upgrade their software and so we have 25 net BEST experts certainly do 25 different ways and the that works for them but when you have a new person coming in and they use Yammer apt-get well we cannot tell them 25 different ways to do it is it is a little bit of cumbersome so maybe this isn't a problem that we support so many different platforms and let's say I 10 versions of of Linux 3 versions of Solaris we cannot provide binary packages for all of these projects we only provide binary packages for a few things may some developers it's a side project in my upload them but I already mentioned on some developers provide for Mac OS 10 and things like that
on basic package 1st usage this is just an example of a few steps to install some software if you're doing it as a regular user doing and in your own home and so it imagine I do this on a Linux box I got that and you get a downloaded extracted tar and extracted this star was smart enough to understand x z format and I go into the practice restricted and on the bootstrap directory and I ran bootstrap unprivileged immediately it told me something about my shelf and so normally there as a hacker myself on figure will why did my shall work but I followed the advice and just said well used national and so I use the Sheldon you work i it spun it build some software like a mention package install and it created configuration file that will be used later on and by make as it builds install software and we will look at that may be a little bit later but I know in my case I just looked at it it has some of the defaults in this in this case and false meant it was installing from my or in using my house and so I I just jumped into a directed to build something and I ran and I didn't I didn't set have yet been and full path to be made and I didn't install step and then I play it is just a simple game and they have various dependencies of those but that's just a very basic example and later on course just like the previous reports or open via seaports just go to the directory make himself 0 0 1 thing as a difference my dear fall out we don't you clean or like a clean depends and so the the source could over time will fill up you can set up a variable from agreeable the clean or even just put on a new line install clean or you you make a a meekly later 0 just to point out here the is because it's the net DSPs version if you're on a net yes box but you don't need a new bootstrap it already has a few dependencies already so simply don't the directory you make install only thing is there by default it'll installed two-user package PKG here all talk about real needs a little later but just a path may be adjusted manpower as I mentioned there's
so many different methods that are not going to talk about those 2 there's too many and will talk about
just some of the sort of common ones a target del remove the package In all the packages that depend on it it keeps a list of those and then attempts to rebuild all of those in that list so we have to make a big target and then there's a tool it sort of does the same type of thing not to they all packages from sources so 2 different ways to do the same thing but by the way this package check tool is a 3rd party software and so it's another software you can install to manage on another way to make
target replaced so if the package doesn't exist it already exist like a binary tarball for it it will on Todd generally this is not a problem anymore and then uninstalled it the bills installs new package that fixes the metadata that depended on it so in light of the versions of what it depends on to depend on the new version instead but as you can imagine this could be dangerous for does that you might replace something that's slightly different maybe as a different API or you know various different things and there is a wrapper around that will look at your system to see what's out of a been so there's a script that some people use or make replace recursively in all those different things and which can be dangerous to I just I have some systems with packages installed 5 6 have many more years ago and I just operate as needed and so when I look on there I still have old softwares stole the brain use software and it's sort of a feature maybe because it's difficult on a power user I guess and so I can understand how to fix things but the normal usage of somebody you on a package system is when they do an upgrade you know for a new version or the you know the upgrade quarterly or something so they operate everything in tandem by keeping things around for many years as possible load source is simply because of some of its portable designs binary
packages usage and some others you probably already know you can you package as with the URI or a new package and directly to the file and or you can set the package path variable here I'm in this 1 you can see at the end of it ended with all directory and they need new package and it will attempt to figure out what the Virgin Mary assuming that the server there is supports most of the things that we do not have like a minor source which way you do it this way instead 1 thing to note about this and genocide hundreds of times may became more over the past 10 years in so is downloading the dependencies if there's something that breaks in the middle it can be tough to try to figure out what happened and because of this is a single and low-level tools and so but I don't know what
happened only it I'll talk about the next thing I hand and this slide here and some other ways for operator and so the minus you switch what data packages in place many again fix mounted on the metadata for the other practices that that depend on it and then also if you wanna do a recursively updated minus you want to do the prerequisite packages also and then unless there's a
script you can use to attempt to do the same thing and that was a binary upgrading this means that you're not building from source at all appearing with binary yes yes yeah and so another way to do it I if if
I teach this lecture again maybe in a couple of like in years out of college may start mentioning to easy rituals 1st some cases they still have a little nuances just like in the Free BSD world you wanna use a new tool Linonia and offer the packages that other factors adversely over some of the words in the previous state so little things like that but ever
sick so some of the practices based platforms that likes us more or less a sum they suggest promote document the binary pair could use only but they don't tell you to download package tree they don't tell you use a package at tool that tell you use other higher-level tools which we'll talk about and so just quickly we have a metadata like a database containing a list of all available packages and we call that package summary database and it's a based on the same idea as the deviance available databases and so it won't allow somebody to use that database to write tools to build the recursively in operate software also or search what's available and
so there's a few different tools that take advantage of the database 1 tool but I just made a hack tool on 1 of the people that made the summary database so I wrote a bunch of shell scripts maybe center ought to I use database I can solve software and then to other tools that were created out packaging as this 1 and another 1 is a PKG NIH not invented here no which I don't have slides on so package and as you can see In the beginning and after a young wife tool and so on apt-get update apt-get install the you know simple things that and so it has some of the same functionality we won't go through all these features and they can see what's available 1 year I'm sorry what's already installed on your system and what's available and do an install then Saul target also following option there also can you upgrades so you can do an update downloading what's available sort of the apt-get way so apt-get you'd updated available database then you do your installs where the default for young is a little different where check for for the updates well as users and so you you see the bottom 1 you search for packages and so on
few others of us which is also to give more information about what's available and I can give you some
examples and so as I mentioned some systems I use I only use packages and and I help maintain different systems for developers hands the and I to back up a little bit so some of my practices work I did mention all the different platforms they use it on a but I you run bill of 4 I S C 4 different binder products and so we have many different systems where the native packets collections do not provide the tools that we need and so when I need that certain tools and there is a quote from the earlier thing earlier presentation today make everything standard standardized don't do a 1 off so the learned how to install third-party software then can going to document my steps so I can't really do it again and if I'm gonna read use on other software I'm going to follow steps in so my eyes will documents in a package source but a specification that took away so anyways of active packaging here so I see I think the software isn't of packages installed on the collection available 11 thousand from this 1 and my configuration it points to the URL where has a practice summary file and also has with the binary package tarballs and so you see this example here I do not being grabs a new of summary database updating the database and then I next example you're researching I can see here that it says a newer version is available in the of the lessons and so that's a that's a candidate for another and you can see now 1 of them that packaging and update and 200 more packages available and from the previous time and another
simple example and installing shows that this 1 did have a dependencies and so it is very trivial and that there is a switch in a way you don't have to get prompted you can turn up prompting off and I don't have a slide for it but you can do that packaging and install something with dependencies and they'll simply give you a list of everything it wants to install new policy in the same thing on other package systems and you can see yesterday and let it do its thing but also will mention that it wants to Ivory let's say once the download fetch installed 20 items but wants to operate 5 things it'll it'll tell you that also of this this 1
more example I upgraded the software itself packaging and install package it courses already installed as amusing begin see it it's an upgrade a this is a little bit clutter as you can imagine it gives you the removal messages minimum at later it's gonna give me the
messages that install again I 1 thing to note we will look at it but it might have warnings are areas that you detected in the lower level tools and he'll want those into files and you can look at those things now what is say updating database it's 1 thing to point out now the main metadata for packages or just text files not very stupid textiles mean different things and so In this case so packages uses SQL like and so it puts into a database it works with a little bit quicker and we'll that easier Our
belong to different topic here a work in progress of the web active source where possess sourceforge is very useful for even for me but from packaging up a bunch of stuff but I cannot get it finished or I just can't get reported correctly the net BSB here's something I wanna tested on 1st of all it is dump into into their tree I can share it with others and that way they can fix it or making provide feedback it's much simpler to point someone to and mere completed package versus trying to send some e-mails copy and pasting snippets when I can point to something that sort of almost ready to use and so you don't need to be that is the kinetic value is needed to of course have sourceforge account then get permission from the maintainer of the project so is very useful for learning but for joint I don't think so they do have their own git repo there would have some of their things that haven't been pushed into practice 1st proper but for work in progress I I don't know the and so this is for beginners and for advanced users by many times I do not use it that if I make a package and do it correctly of push it directly into that forestry well may
contain broker and maintain packages I don't know how many packages in it right now but I assume around 700 to 12 hundred somewhere in that area of some of them were broken or problem I packages MIT that is if I find a package never completed it you know 10 years ago that I may continue to be broken or another cool
feature of crossing violation and this is some parts of the some parts of the new will talk about this so that resources already extracted for different compilers and we use a wrapper framework to try to reorder switches and use compilers in different ways and you can see all the different compiler systems that we supported at 1 time or another and some of them we still support it it's a big list and as you can imagine I GCC even the command line usage of it is different then maybe an HP-UX compiler and so some things are generically you know the um go across that some software and it is a portable let's say they don't use auto parts and so right here practice source wrappers can help work around problems like that and so already abstracted from these type of things now he wanted you invented where you might use this CC or emulators but here's another way if possible deal to use factors source to create in Proc packages for different right now for net BSC proper and this book going back a few years ago the initial goal was just give the bootstrap tools to be cross-compiler 1 at St and then on the big man roles of 4 x 4 x 11 suite in its dependencies across about but our recent work is also added additional medusae across compulsive work so this is a big new feature and there's patches are in progress or work in progress before doing cross built for different platforms this and can be a lot of work and as you can imagine using a Mac OS those that's your quick blocks to generate embedded Linux packages could be very very nice for a lot of people but is very significant for package sources extracted so much is it will be easier place to do it than probably any other packaging systems and and then in the benefit for practice source will it'll help bring out different issues do make package source better as we do that so I'll be really nice now we have
a lot of documentation we have a guide practices guide it's getting very lengthy kids get longer and longer and so it's an HTML I think it's in PDF and I look at the text file very frequently now we have a full suite of a man pages also packages had of the League of package installed are com which of alternating and that later and then there's the various wiki pages were people put tutorials or how to different steps under this next thing is sort of interesting it's not complete but it's a good start so we have a variety of make files or snippets for including in the files and maybe you might have there are things that can be explained so we have a make help target because same topic and you can give you information about how to use maybe you have to use another target or how to use a make variable and so it's sort of built-in help select prettiness so that's a Linux saying
is another also features of package source of build linking and so I won't get into detail here but 1 thing to note is there is a big overhead and I do some work would there be in packagings at work and and then there's other systems that the key for making packages they wanna make a clean package they don't want to depend on something accidentally that was already installed on your system let's say you have lived XML installed in for some reason some offer you had picked that up and then you install your package on the system won't run because you don't have with XML and so the common way to do this is to do a nutrient environment overhead is big has he got install ever all these dependencies then when you're done you need a clean out the entire environment the overhead can be pretty significant so package sources a simpler mechanism OK maybe is not simple or could it is it's a lighter mechanism so we have various Makefile rules to define the dependencies the dependencies can be very wide headers libraries and maybe package could figure out specifications they might be out Lin to archive files but does writing different things and the package Miller may also choose to use some dependencies you already have on your system but say of Open SSL it's a year of expiry 86 some type of dependency and you don't want to use a practice source equivalent musical built and sometimes the auto detects and depending on the system we have some preset defaults of whether whether or not you may use built but we do not provide built-ins for everything like we don't want to provide a built-in for Python 3 or Pearl for example will use a package of source of version of those you just means simply because some things are too big and trying to manage them from up from a built-in perspective I might be very difficult right so it knows what it means to do a bill so that it creates a symlink tree of all the specific files like I mentioned above headers libraries little to archive files the SemLink tree could be extremely huge if you're installing let's say something the users of no but qt for example in all these dependencies you might have layers layers of dependencies of a big family tree so the next
thing is execute Pappas overridden to use wrapper scripts also we so various configure variables or make environment variables the whole goal is to override different settings used by compilers or the configuration tools they configured environment and then you will point to directly where we have that's only tree but the building tree and we might will override those firms in many different phases of part of the building and installation and I as I
mentioned earlier about abstracting for compilers all we might also do do other abstraction here and as I mentioned this is helped you have a very consistent build prevents softer on the system already installed from not being used for creating a new package even if it's a solvent package source even if it's in user package live or user package include worried look by default and as I mentioned before that I created a Linux distro in so that that was a little bit tricky because you have user include which is set by default but on modeling tree I did help a little bit in that case
and other summary given examples but I just showed a couple things about was built in and so OK on this Linux boxes detected that will use a built-in it detected it'll usability and openness itself but and for some reason maybe I did have the the green line package installed or something I'm not sure that it look into it but in this case is can use the package source version In already mentioned
it sets different things but mind override set different environment variables are configure flights to use the what versions that are specifically specifically depended on but I think it's
example of a short example of the of the villi and SemLink tree OK not all the same length so that certainly is wrong name In some cases we dynamically generate but PC files that I don't know for dynamically generated a lot of files but we might but if we put the files in place that would properly . 2 are versions that we specifically depend on on and so sometimes I just kept these files will give a list of the things that were billing the and build
linking an x 11 and so I 1 time i'd package X 386 somebody else attack injects 386 and they enough myself and a couple people we packages of x over and then we go over that because then we back is a modular version so we went through multiple phases of that and so on but also
we support with the other implementations of X and I'm not sure how many of these are actively used today but now we provide another package that provides assembling tree that point to those way we could not point to the x 11 components that they need and today I most platforms Mommy anomalous many platforms will default modular I 1 thing to note that BST itself will by default will use native but the model is broken into many many many packages and I just listed a short list here these are some of the very core ones I'll assume they're all dependencies only access L it would excellent love only
pause here for a 2nd and i have any questions about the bill linking about the all right yeah I'm not sure but I can imagine now so some of the building wake up include files also have associated built-in file and in some cases the built-in filed my have auto-detected your system wrongly and so yes we might have a variable we can override it about and it really depends on the specific package 1 problem is is if you have a slightly older version of like 3 free desktop version of a live XL but live on x 11 verses that the newer versions of some of them are missing and package conveying files related to archive files and so it might break in subtle ways but if you have some specific through you can e-mail me so another thing is we do have an options framework that Free BSD has something similar the previous these by default it is interactive you know you you do installing come back an hour later put that may I gotta collect check boxes and yes you can install or manually set those ahead of time or having user the faults but with never BSE is not interactive in this case you could view them make sure options target it'll list of the general options it hasn't tell you what's enabled by default and also tell you what's currently are enabled just-in-case you've configured at someone this should
yes if they don't then complain to us we do and have a file that has a description for or for most of them and some of the descriptions might be vague but they should have a few were descriptions for each 1 I should show more examples here but you can do a site-wide settings will pack packaged if all options and the Lester space-separated so just put quotes around it or remind you 1 specific for us those certain factors like exam the thing that's strictly for new users if you wanna turn off something put a minus sign in front of it like deftly attack there and so you could turn off and so these are actual real examples of something that I would use for example not using the the newly would get
OK options just back so our framework right now as it is does not generate a different package when you to the package options and so that means you might have different packages that are different even know the name identical so that there there's some developers to have their own have build systems that that means the package is based on options and choose they can imagine you might have 50 options and you have a package name with 50 options following it fit and even you know the Torah file name but it can be pretty cluttered and confusing as it is and you look at the book old man longest package in their red in that will help you with it might help you if you if you would have 1 or 2 options a stage
installs without us for at least a couple years has been the fall for over a year and basically what the citizens installs a temporary
staging directory assistance souls entire thing to staging directory but I think 99 per cent of our software now supports this and so it is the default don't staging directory so we cannot check make sure it's consistent then also 1 cool thing about this is then you could create batches without installing it on your system and so do a nice feature
but as I mentioned I another
interesting feature and and so many of our packages define their licenses supported and you can see this list deep acceptable licenses n and somehow I have to give a slides merged together sorry if but anyway is we have different tools and different things and so you can define the licenses that you want to support they can be be defined for the package binary tools or defined if you're building from active source this is really cool because you can do that the restrictive or being more open depending on your developer or a your production environment rules In so this can be helpful so I'm
not sure if understood in a row as exact time of my lecture ends at the time allotted ends in 5 minutes so let me know if I need in right now for something better than this slide right here is also is the next slide so just basic packaging step show some light examples there's many many different ways to do it but as I mentioned that when I install software I don't wanna do 1 often so I create a step in the right tools or there's a template so you may use of 1 tools called URL to package it works for quality over 50 % of a simple projects and I've used it hundreds and hundreds of times and so it'll you basically point toward the tarball it'll downloaded it will open up this horrible look at it and see if we can get the general gist of how it should be configured and built and installed and so things a news article on the can engineer can do that a good good basic the job but other things you might have a simple steps and if you knew the makes some target once you've already set something up Bill downloaded and create your the checksums another target values often is pretty list until death will generate your packing list and so a list of the files in the directory is and the directors that should be removed and the installation time and so on another target as usual useful as a show and so if you wanna look at a variable as its side changed as it goes through on the differ Makefiles snippets you can see what it's saying is at that time and so I think 1 of the slides guide messed up there the package landslide soldiers mentioned it very quickly and so package line is the tool basically for looking at the center of a package some developers don't like it at all I love it but it gives you so many different hints of all you miss this maybe you could do this a better way it has so many different hands to packaging it's it seems very useful to me so 1 thing you know for packaging packages should never touch the final configuration files they should not installed directly to ETC directory I've mentioned that before they should install to the users share or sorry but anyways the examples directory by and there's a few of them variables you is set in union nature that your software uses it from the ETC directory not from examples directory but as not just a little inverted about them but it's not always true but many times you use the bill later infrastructure for a the library dependencies and as training packages will cost we have 11 thousand 12 thousand 13 thousand there's many examples and there's a very helpful audience I have to mention the reason I went and obviously in the 1st place I use other DSPs for other work is on the environment the package 1st developers and obviously developers in general were so friendly soulful if I ask them a stupid question but there they would have probably probably probably and help me out we'll solve a problem in the SI can be slow but it is a very friendly group and so that was very helpful for me In so as I mentioned the helpful group there mailing lists and don't abuse it by being stupid on purpose fit by that other very friendly and so I'm going to skip the
packaging example in this but is something else presenting in here right now I don't think so this is the last 1 here OK again and I have 1 minute or is I can tell and we had a ball buildings database for basically 13 years and so on that's a way to you could have automated so we want build package will check the database is a OK this is vulnerable and you can set some variables to say OK all ignore that or you can also have an audit tool that runs nightly or however you need to media reports and I don't
have listed here but I those thousands and thousands of entries in there and so it's the prettier this is maintained pretty well so growing all the time so it's nice to have a vulnerability databases the you were
here you you although on I think there was an old package for burning of previously port to package source I don't think it's been maintained for many years it might do a little bit of the job that I don't know of any others as I mentioned there's thousands of was by
digital signatures just to point out we've had signed package support since 2001 and I don't think very many people are using it but I it's a nice feature and it's a part of our package infrastructure build-out signed on packages I mean that's very useful
another thing very quickly we've done quarter release stable branches since 2003 how did I realize it but there's only has a long time and so we provide another branch and we just pull up bug fixes so if you want have a stable environment you don't wanna go with the bleeding edge package source because they were stable branch so that's another
nice feature and so yeah 58 stable branches that that's phenomenal I just
idea the package counts yes we don't have as many packages song and how you count packages you know various there's a we don't break a software up and 10 components when so these but it's it's a good it's a good amount is and that is very good you can see some accounts for different platforms there's so much more
to talk about in so this slide I won't talk about and they did see him as many
and I'm finished I'm appreciate you coming wasn't learning more about packets source still free ask me questions about anything in time people ask Allah the others and I so personally thank you for the for the work you've done also yeah there's a lot of people and is anybody have any questions sponsor questions of
Rechenschieber
Systemprogrammierung
Freeware
Flächeninhalt
Offene Menge
Netzbetriebssystem
Physikalisches System
Quellcode
Mobiles Endgerät
Computeranimation
Eins
Kreisbewegung
Rückkopplung
Subtraktion
Gewicht <Mathematik>
Mathematisierung
EDV-Beratung
Drehung
Systemplattform
Computeranimation
Kernel <Informatik>
Open Source
Bildschirmmaske
Software
Design by Contract
Modelltheorie
Softwareentwickler
Binärdaten
Softwareentwickler
Physikalisches System
Quellcode
Biprodukt
Verallgemeinertes lineares Modell
Quick-Sort
Programmfehler
Ablöseblase
Projektive Ebene
Information
Verzeichnisdienst
Verkehrsinformation
Zeichenkette
Varietät <Mathematik>
Binärdaten
Installation <Informatik>
Gebäude <Mathematik>
Programmverifikation
Identitätsverwaltung
Quellcode
Physikalisches System
Teilbarkeit
Framework <Informatik>
Computeranimation
Physikalisches System
Open Source
Software
Framework <Informatik>
Software
Hypermedia
Identitätsverwaltung
Konfigurationsraum
Subtraktion
Synchronisierung
Bootstrap-Aggregation
Quellcode
Physikalisches System
Synchronisierung
Computeranimation
Netzwerktopologie
Rechenschieber
Physikalisches System
Deskriptive Statistik
Freeware
Verzeichnisdienst
Menge
Software
Torus
Datentyp
Verzeichnisdienst
Umwandlungsenthalpie
Suite <Programmpaket>
Subtraktion
Nabel <Mathematik>
Bootstrap-Aggregation
Mobiles Endgerät
Derivation <Algebra>
Quellcode
Physikalisches System
Elektronische Publikation
Nabel <Mathematik>
Teilbarkeit
Framework <Informatik>
Computeranimation
Framework <Informatik>
Rechter Winkel
Skript <Programm>
Skript <Programm>
Bootstrap-Aggregation
Installation <Informatik>
Information
Differenzenrechnung
Subtraktion
Gewicht <Mathematik>
Quader
Nabel <Mathematik>
Versionsverwaltung
Mobiles Endgerät
Systemplattform
Computeranimation
Physikalisches System
Streaming <Kommunikationstechnik>
Datentyp
Programmbibliothek
Installation <Informatik>
Skript <Programm>
Public-domain-Software
Lineares Funktional
Systemplattform
Physikalisches System
Packprogramm
Nabel <Mathematik>
Framework <Informatik>
Funktion <Mathematik>
Dateiformat
Projektive Ebene
Bootstrap-Aggregation
Programmbibliothek
Wasserdampftafel
Browser
Versionsverwaltung
Programmverifikation
Systemplattform
Mobiles Endgerät
Quellcode
Nabel <Mathematik>
Computeranimation
Internetworking
Physikalisches System
Patch <Software>
Funktion <Mathematik>
Framework <Informatik>
Software
Mereologie
Hash-Algorithmus
Skript <Programm>
Bootstrap-Aggregation
Programmbibliothek
Default
Subtraktion
Multiplikation
Punkt
Compiler
Versionsverwaltung
Patch <Software>
E-Mail
Code
Computeranimation
Unternehmensarchitektur
Physikalisches System
Systemprogrammierung
Multiplikation
Software
Netzbetriebssystem
Programmbibliothek
E-Mail
Umwandlungsenthalpie
Sichtenkonzept
Architektur <Informatik>
Systemplattform
Physikalisches System
Teilbarkeit
Patch <Software>
Compiler
Unternehmensarchitektur
Versionsverwaltung
Offene Menge
Subtraktion
IRIS-T
Systemplattform
Mailing-Liste
Quellcode
Physikalisches System
Systemplattform
Binärcode
Quick-Sort
Computeranimation
Eins
Generizität
Freeware
Software
Modelltheorie
Softwareentwickler
Varietät <Mathematik>
Subtraktion
Bit
Freeware
Zahlenbereich
Mobiles Endgerät
Patch <Software>
Code
Computeranimation
Systemprogrammierung
Software
Code
Uniforme Struktur
Skript <Programm>
Gruppoid
Operations Research
Softwareentwickler
Gleichmäßige Konvergenz
Konfigurationsraum
Mobiles Endgerät
Default
Umwandlungsenthalpie
Nichtlinearer Operator
Konfigurationsraum
Quellcode
Physikalisches System
Widerspruchsfreiheit
Konfiguration <Informatik>
Patch <Software>
Software
Ablöseblase
Parametersystem
ATM
Subtraktion
Default
Konfigurationsraum
Versionsverwaltung
Patch <Software>
Physikalisches System
Quellcode
Elektronische Publikation
Datensicherung
Widerspruchsfreiheit
Computeranimation
Rechenschieber
Softwarewartung
Software
Skript <Programm>
Operations Research
Konfigurationsraum
Default
Verzeichnisdienst
Message-Passing
Maschinenschreiben
Subtraktion
Mathematisierung
Bootstrap-Aggregation
Versionsverwaltung
Gruppenkeim
Abstraktionsebene
Gerichteter Graph
Computeranimation
Multiplikation
TUNIS <Programm>
Gruppentheorie
Software
Programmbibliothek
Kontrollstruktur
Dateiverwaltung
Installation <Informatik>
Softwareentwickler
Konfigurationsraum
Differenzenrechnung
Umwandlungsenthalpie
Teilnehmerrechensystem
Booten
Konfigurationsraum
Default
Physikalisches System
Quellcode
Software
Menge
Wurzel <Mathematik>
URL
Ising-Modell
Subtraktion
Punkt
Gewicht <Mathematik>
Quader
Freeware
Nabel <Mathematik>
Hyperbelverfahren
Bootstrap-Aggregation
Versionsverwaltung
Implementierung
Systemplattform
Computeranimation
Spieltheorie
Software
Reelle Zahl
Datennetz
Installation <Informatik>
Fünf
Strom <Mathematik>
Hacker
Datenstruktur
Optimierung
Softwareentwickler
Default
Konfigurationsraum
Figurierte Zahl
Implementierung
Einfach zusammenhängender Raum
Binärcode
Expertensystem
Datennetz
Installation <Informatik>
Physikalischer Effekt
Systemplattform
Quellcode
Physikalisches System
Elektronische Publikation
Menge
Netzwerktopologie
Rechenschieber
Software
Ordinalzahl
Offene Menge
Server
Dateiformat
Projektive Ebene
URL
Verzeichnisdienst
Verkehrsinformation
Metadaten
Versionsverwaltung
Mailing-Liste
Quellcode
Physikalisches System
Binärcode
Quick-Sort
Computeranimation
Eins
Open Source
Metadaten
Last
Software
Datentyp
Wrapper <Programmierung>
Skript <Programm>
Installation <Informatik>
Normalvektor
Versionsverwaltung
Drei
Leistung <Physik>
Rechenschieber
Binärcode
Metadaten
Nichtlinearer Operator
Metadaten
Server
Quellcode
Verzeichnisdienst
Computeranimation
URL
Binärcode
Metadaten
Freeware
Skript <Programm>
Vorlesung/Konferenz
Wort <Informatik>
Quellcode
Teilbarkeit
Computeranimation
URL
Aggregatzustand
Gewichtete Summe
Nabel <Mathematik>
Metadaten
Systemplattform
Computeranimation
Datensichtgerät
Datenhaltung
Netzwerktopologie
Metadaten
Repository <Informatik>
Mailing-Liste
Software
Minimum
Skript <Programm>
Installation <Informatik>
Lineares Funktional
Binärcode
Gerichtete Menge
Installation <Informatik>
Datenhaltung
Abelsche Kategorie
Systemplattform
Mailing-Liste
Physikalisches System
Quick-Sort
Konfiguration <Informatik>
Rechenschieber
Software
Schnelltaste
Kategorie <Mathematik>
Umwandlungsenthalpie
Bit
Subtraktion
Dokumentenserver
Datenhaltung
Versionsverwaltung
Physikalisches System
Quellcode
Biprodukt
Kombinatorische Gruppentheorie
Elektronische Publikation
Systemplattform
Binärcode
Computeranimation
Datenhaltung
Softwarewartung
Software
Information
Softwareentwickler
Versionsverwaltung
Konfigurationsraum
Standardabweichung
Bit
Stellenring
Fehlermeldung
Elektronische Publikation
Extrempunkt
Hyperbelverfahren
Dokumentenserver
Mailing-Liste
Physikalisches System
Computeranimation
Datenhaltung
Rechenschieber
Software
Installation <Informatik>
Message-Passing
Rückkopplung
Fehlermeldung
Bit
Dokumentenserver
Datenhaltung
Quellcode
Elektronische Publikation
Service provider
Quick-Sort
Computeranimation
Datenhaltung
Übergang
Netzwerktopologie
Softwarewartung
Metadaten
Message-Passing
Benutzerbeteiligung
Flächeninhalt
Arithmetische Folge
Projektive Ebene
Repository <Informatik>
E-Mail
Message-Passing
Subtraktion
Konfiguration <Informatik>
Sampler <Musikinstrument>
Compiler
Bootstrap-Aggregation
IRIS-T
Patch <Software>
Systemplattform
Framework <Informatik>
Computeranimation
Softwaretest
Arithmetische Folge
Software
Wrapper <Programmierung>
Datentyp
Emulator
Hilfesystem
Serviceorientierte Architektur
Metropolitan area network
Caching
Suite <Programmpaket>
Addition
Systemplattform
Quellcode
Physikalisches System
p-Block
Teilbarkeit
Softwarewartung
Patch <Software>
Framework <Informatik>
Suite <Programmpaket>
Flächeninhalt
Rechter Winkel
Mereologie
Korrelationskoeffizient
Compiler
Emulator
Eigentliche Abbildung
Wiki
Versionsverwaltung
Familie <Mathematik>
Äquivalenzklasse
Wrapper <Programmierung>
Service provider
Computeranimation
Netzwerktopologie
Physikalisches System
Variable
Perspektive
Trennschärfe <Statistik>
Datentyp
DoS-Attacke
Programmbibliothek
COM
Elektronischer Programmführer
E-Mail
Hilfesystem
Umwandlungsenthalpie
Suite <Programmpaket>
Kraftfahrzeugmechatroniker
Äquivalenzklasse
Installation <Informatik>
Elektronischer Programmführer
Dichte <Stochastik>
Schlussregel
Quellcode
Physikalisches System
Wiki
Elektronische Publikation
Packprogramm
Quick-Sort
Netzwerktopologie
Framework <Informatik>
Rechter Winkel
Offene Menge
Lesen <Datenverarbeitung>
Information
Overhead <Kommunikationstechnik>
Schlüsselverwaltung
Programmierumgebung
Varietät <Mathematik>
Äquivalenzklasse
Bit
Subtraktion
Abstraktionsebene
Compiler
Gebäude <Mathematik>
Physikalisches System
Quellcode
E-Mail
Wrapper <Programmierung>
Computeranimation
Netzwerktopologie
Netzwerktopologie
Physikalisches System
Variable
Framework <Informatik>
Menge
Mereologie
Wrapper <Programmierung>
Skript <Programm>
Skript <Programm>
Modelltheorie
Compiler
Default
Programmierumgebung
Konfigurationsraum
Phasenumwandlung
Subtraktion
Quader
Benutzerfreundlichkeit
Green-Funktion
Versionsverwaltung
Gebäude <Mathematik>
Mailing-Liste
Programmierumgebung
Quellcode
Elektronische Publikation
Variable
Computeranimation
Netzwerktopologie
Variable
Thread
Verschlingung
Offene Menge
DoS-Attacke
Programmierumgebung
Gerade
Funktion <Mathematik>
Punkt
Versionsverwaltung
Implementierung
Mailing-Liste
Systemplattform
Computeranimation
Eins
Programmfehler
Netzwerktopologie
Verschlingung
Komponente <Software>
Speicherabzug
Modelltheorie
Default
Phasenumwandlung
Konfiguration <Informatik>
Freeware
Quader
Versionsverwaltung
Login
Framework <Informatik>
Computeranimation
Deskriptive Statistik
Mailing-Liste
Reelle Zahl
Default
Umwandlungsenthalpie
Raum-Zeit
Gebäude <Mathematik>
Default
Mailing-Liste
Web Site
Physikalisches System
Elektronische Publikation
Packprogramm
Teilbarkeit
Konfiguration <Informatik>
Menge
Framework <Informatik>
Rechter Winkel
Konfiguration <Informatik>
Raum-Zeit
Default
Web Site
Physikalisches System
Elektronische Publikation
Framework <Informatik>
Konfiguration <Informatik>
Computeranimation
Vorlesung/Konferenz
Installation <Informatik>
Softwareentwickler
Metropolitan area network
Domain <Netzwerk>
Subtraktion
Teilmenge
Default
Gebäude <Mathematik>
Schlussregel
Mailing-Liste
Physikalisches System
Quellcode
Information
Binärcode
Computeranimation
Teilmenge
Rechenschieber
Physikalisches System
Software
Verzeichnisdienst
Framework <Informatik>
Software
Notepad-Computer
Stapelverarbeitung
Softwareentwickler
Verzeichnisdienst
Default
Ganze Funktion
Programmierumgebung
Punkt
Wellenpaket
Gemeinsamer Speicher
Natürliche Zahl
Gruppenkeim
Information
Computeranimation
Datenhaltung
Chiffrierung
Mailing-Liste
Variable
Datensatz
Prozess <Informatik>
Software
Typentheorie
Proxy Server
Computersicherheit
Programmbibliothek
Softwareschwachstelle
Passwort
Softwareentwickler
Konfigurationsraum
Gerade
URL
Elektronischer Programmführer
Template
Datenhaltung
Kryptologie
Default
Konfigurationsraum
Gebäude <Mathematik>
Mailing-Liste
Elektronische Publikation
Spannweite <Stochastik>
Rechenschieber
Rechter Winkel
Hypermedia
Projektive Ebene
URL
Versionsverwaltung
Verzeichnisdienst
Programmierumgebung
Verkehrsinformation
Bit
Stellenring
Virtuelle Maschine
Information
Computeranimation
Datenhaltung
Physikalisches System
Chiffrierung
Mailing-Liste
Digitalsignal
Prozess <Informatik>
Proxy Server
Code
Typentheorie
Videospiel
Computersicherheit
Softwareschwachstelle
Skript <Programm>
Passwort
URL
Dreizehn
Default
Kryptologie
Quellcode
Elektronische Unterschrift
Spannweite <Stochastik>
Softwareschwachstelle
Mereologie
Versionsverwaltung
Binärcode
Stabilitätstheorie <Logik>
Subtraktion
Verzweigendes Programm
Quellcode
Systemplattform
Computeranimation
Programmfehler
Software
Komponente <Software>
Total <Mathematik>
Computersicherheit
Programmierumgebung
Rechenschieber
Binärcode
Programmfehler
Framework <Informatik>
Installation <Informatik>
Generizität
Quellcode
Dateiformat
Wrapper <Programmierung>
Computeranimation

Metadaten

Formale Metadaten

Titel Introduction to pkgsrc
Serientitel The Technical BSD Conference 2013
Autor C. Reed, Jeremy
Lizenz CC-Namensnennung 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
DOI 10.5446/19171
Herausgeber Berkeley System Distribution (BSD), Andrea Ross
Erscheinungsjahr 2013
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Introduction to the Pkgsrc third-party software packaging framework. This lecture will introduce the significant differences and interesting features offered by Pkgsrc. This is the portable package system maintained by NetBSD and used also for DragonFly, SmartOS, MINIX, and various other operating systems.

Ähnliche Filme

Loading...
Feedback