Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| devsummit:201309:ports [2013/09/26 13:29] – MatthewSeaman | devsummit:201309:ports [2021/04/25 10:00] (current) – Move to DevSummit namespace. JethroNederhof | ||
|---|---|---|---|
| Line 26: | Line 26: | ||
| Announcement: | Announcement: | ||
| - | ===== PCBSD Package CDN | + | ===== PCBSD Package CDN - Allan Jude ===== |
| Packages sets would take mirrors weeks to upload. | Packages sets would take mirrors weeks to upload. | ||
| Line 32: | Line 32: | ||
| pkgng: the master needs to be atomic. | pkgng: the master needs to be atomic. | ||
| - | New high bandwidth master and using myCDN | + | New high bandwidth master and using CDN |
| rsync --delay-update | rsync --delay-update | ||
| Line 45: | Line 45: | ||
| Servers sync last 15mins of traffic within seconds. | Servers sync last 15mins of traffic within seconds. | ||
| - | Automatic mirror selection. | + | Automatic mirror selection. |
| Conclusion: ZFS make replication easier and allows atomicity. | Conclusion: ZFS make replication easier and allows atomicity. | ||
| - | PCBSD servers pull about 36TiB per day -- iso.cdn about 1 %%TiB%%/ | + | PCBSD servers pull about 36TiB per month -- iso.cdn about 1 %%TiB%%/ |
| bapt: want to look at this for %%FreeBSD%% pkg repo and steal any applicable ideas. | bapt: want to look at this for %%FreeBSD%% pkg repo and steal any applicable ideas. | ||
| Line 136: | Line 136: | ||
| developer sub-package: | developer sub-package: | ||
| -- start by doing things manually, then provide more automation once it has matured. | -- start by doing things manually, then provide more automation once it has matured. | ||
| + | |||
| + | ===== Package Sets -- Erwin ===== | ||
| + | |||
| + | Decouple src from package releases. | ||
| + | |||
| + | Done: | ||
| + | |||
| + | convert ports from CVS to SVN | ||
| + | new distribution infrastructure | ||
| + | new build cluster (not yet for old packages) | ||
| + | pkgng | ||
| + | |||
| + | Package/ | ||
| + | |||
| + | Wanted? | ||
| + | |||
| + | How frequently? | ||
| + | biweekly | ||
| + | + | ||
| + | monthly | ||
| + | |||
| + | Do we want a security branch? | ||
| + | |||
| + | portssecteam@ mailing list -- but no formal ports sec team, no charter etc. Needs to be formalised. | ||
| + | Should they answer to portmgr or SO? SO technically could just appoint a ports sec team (SO charter is surprisingly wide...) | ||
| + | |||
| + | We rarely get advance notice of issues in ports. | ||
| + | Needs to expedite handling vulns that are already out in public. | ||
| + | |||
| + | This is secteam responsibility, | ||
| + | secteam relies on knowing who has expertise for help on specific areas of kernel / userland. | ||
| + | Doesn' | ||
| + | ports sec teams should have this knowledge. | ||
| + | |||
| + | ports sec team has authority to override maintainer where necessary for security reasons. It's about | ||
| + | quick response and authority. | ||
| + | |||
| + | Need to find out who is on the team right now... | ||
| + | The list isn't dead but ports sec team is not used properly at the moment. | ||
| + | |||
| + | SO should answer to core. Ports Sec Team should answer to SO. Unfinished Charter is on website, needs | ||
| + | review and ratification. | ||
| + | |||
| + | ports security team created by fission of secteam by Jacques around 2005. | ||
| + | |||
| + | Member of PST at %%EuroBSDCon%% should meet up and formalize things. | ||
| + | |||
| + | ===== Package Set Policy - bapt ===== | ||
| + | |||
| + | Just an idea now: want to make it real starting next month. | ||
| + | |||
| + | Want to create package sets quarterly, and maintain them properly. | ||
| + | |||
| + | Q1 | ||
| + | Q2 | ||
| + | Q3 | ||
| + | Q4 | ||
| + | Weekly | ||
| + | %%LatestQ%% | ||
| + | |||
| + | branches in SVN. Qx branches to be maintained for 1 year. Only portmgr and PST | ||
| + | can commit to Qx branches. | ||
| + | |||
| + | Weekly is just a symlink to the latest package set pushed from build cluster each week. | ||
| + | Security fixes only. | ||
| + | |||
| + | packages which have security problems we can fix -- package will be removed from site | ||
| + | and port will be marked restricted. | ||
| + | to a new branch where no security update is available. | ||
| + | |||
| + | pkg news to be displayed after pkg update. | ||
| + | (Ref PC-BSD people for desktop support) | ||
| + | |||
| + | To start on 1st Nov (Q4) and next year Q4 will be in Oct. Need working Ports Sec Team, | ||
| + | and working pkg build cluster. | ||
| + | |||
| + | Space usage on cluster with 5 package sets online at once. | ||
| + | Will allow errata updates as well as security. | ||
| + | should allow fixing errors before the big Qx releases. | ||
| + | |||
| + | pkg-fallout: | ||
| + | so expect to receive way more mails real soon. | ||
| + | |||
| + | port maintainers' | ||
| + | to Qx branches. (portmgr only for errata) | ||
| + | |||
| + | Test update from Qx -> Qx+1, Qx -> Qx+2, Qx+1 -> Qx+2 (all combinations of supported branches) | ||
| + | |||
| + | Huge need for base system people to inform portmgr of anything that will break ABI in enough time to | ||
| + | build package sets for HEAD and test for regressions in the pkg build cluster. | ||
| + | about breakages that will prevent running a newer jail for HEAD. | ||
| + | |||
| + | Deadline for having working ports sec team? | ||
| + | |||
| + | ===== pkg_install removal - bapt ===== | ||
| + | |||
| + | We need to clean up pkg having dirty code to support pkg_install. | ||
| + | becoming harder and harder. | ||
| + | |||
| + | Once we have two or three Qx release sets working for users then we can say we don't need to support | ||
| + | pkg_install any more. portmaster works the same way with pkgng. | ||
| + | with pkg_install: | ||
| + | |||
| + | This is a big change late in the line of eg. 8.4-RELEASE. | ||
| + | |||
| + | Need update to the pkg.txz package on pkg.freebsd.org so that it installs a more recent version | ||
| + | |||
| + | Conversion is just | ||
| + | |||
| + | / | ||
| + | pkg2ng | ||
| + | |||
| + | and then continue maintaining you system as previously if you don't want to switch to binary | ||
| + | package management. | ||
| + | |||
| + | We're blocked by pkg_install. | ||
| + | |||
| + | We need a really strong PR campaign that this is coming. | ||
| + | |||
| + | Bootstrapping pkgng when nothing else is installed still tells you to run pkg2ng | ||
| + | Could just run a post install script. | ||
| + | |||
| + | List of *shiny* new features that can be implmented in a post-pkg_install world to be included | ||
| + | in the PR campaign. | ||
| + | |||
| + | Could the ports tree support divergent feature sets for pkgng vs. pkg_install? | ||
| + | Is very hard to maintain. | ||
| + | |||
| + | We don't have experience of a release which is pkgng-ified. (we should do by May | ||
| + | when 10.?) | ||
| + | Many large companies have already adopted pkgng. | ||
| + | puppet pretty much imply pkgng. | ||
| + | |||
| + | Better to slip the pkg_install cut-off date if we discover a problem than delay pre-emptively. | ||
| + | |||
| + | Do 3rd party tools support pkgng yet: puppet, chef, ansible, salt, webmin, packagekit: support | ||
| + | is either already in the ports or ready to add to ports. | ||
| + | |||
| + | Plans to fix huge securty hole which is pkgng bootstrapping? | ||
| + | signatures on pkgs. and repo catalogues. | ||
| + | an old CDRom, needs a cert less likely to be revoked) | ||
| + | |||
| + | Automatic message warning when using pkg_install "84 days left until pkg_install goes away..." | ||
| + | |||
| + | 8.3 doesn' | ||
| + | |||
| + | 8.3-RELEASE will be supported for it's lifetime. | ||
| + | |||
| + | 8.4-RELEASE users will be told they have switch. | ||
| + | |||
| + | ===== Open tasks ===== | ||
| + | |||
| + | Package names: we're doing it badly for packages. | ||
| + | |||
| + | If we want to be able to provide 3 versions of %%MySQL%% or php or whatever: different versions need different PKGNAMESUFFIX | ||
| + | ports need distinct portnames. | ||
| + | |||
| + | We should be able to get rid of all the ' | ||
| + | |||
| + | (Don't use PREFIX -- that's used for different language versions eg p5- py37-) | ||
| + | |||
| + | Distinct packages which happen to have the same name -- needs fixing. | ||
| + | were in different categories. | ||
| + | |||
| + | Most of the time the pkg name should reflect the directory name. Need flexibility to override in some cases though. | ||
| + | |||
| + | (This is the same issue as 'pkg install subversion' | ||
| + | |||
| + | Do we really need four different versions of perl? | ||
| + | |||
| + | Using metapackages eg. lang/python -- installs a mostly empty package which depends on the default version of python. | ||
| + | |||
| + | options -- should be mostly converted into sub packages. | ||
| + | of compilation options. | ||
| + | |||
| + | 1 -- adds extra files (just use a sub package) | ||
| + | 2 -- depend on an alternative shlib (don't offer this | ||
| + | in general, or provide flavours where sensible) | ||
| + | 3 -- enable or disable different compiled in modules (convert | ||
| + | to using run-time modules) | ||
| + | |||
| + | ... perhaps also | ||
| + | |||
| + | 4 -- turn on or off compilation options or add an optional patch | ||
| + | (use separate ports -- this is v. similar to type 2) | ||
| + | |||
| + | We can't get rid of options entirely eg. bind | ||
| + | |||
| + | We want to get rid of the origin as the package identifier and use the pkgname instead. | ||
| + | |||
| + | Package names vary between linux distros. | ||
| + | just *BSD. | ||
| + | |||
| + | DFly is switching to ports. | ||
| + | |||
| + | Convert build options into run-time modules (ref: nginx) | ||
| + | |||
| + | ---- | ||
| + | |||
| + | {{tag> | ||