tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: distbb: new helpful feature



Another megafeature is ready.
Now distbb can build multi-variant packages, i.e.
py{23,24,25}, apache{13,2,22} etc. modules.
No wonder. pbulk already does this.
But distbb implements things in a flexible way
(this is one of the main goal if it).
This new feature leads to one interesting side-effect.
Now you can pass distbb PKGPATHs to be built "enriched" with
building options. For example
 textproc/dictem:EMACS_TYPE=xemacs214
 www/ap2-wsgi:PKG_APACHE=apache22,PYTHON_VERSION_REQD=25
Even more, "multi-option" packages are also supported. If you want to
build several variants of mplayer, it is easy to do this now with
distbb. Example:
 
sysutils/mc:PKG_OPTIONS.mc=-subshell~-slang~-charset,PKGNAME=mc-light-4.6.1nb4
 sysutils/mc:PKG_OPTIONS.mc=samba,PKGNAME=mc-full-4.6.1nb4
 sysutils/mc:PKG_OPTIONS.mc=-x11,PKGNAME=mc-nox11-4.6.1nb4
Test bulk build results
 
http://mova.org/~cheusov/pub/pkgsrc-distbb/Linux/current-unprivileged/log/20080913.1011/META/report.html
for the following "enriched" packages
 textproc/dictem:EMACS_TYPE=xemacs214
 
multimedia/mplayer:PKG_OPTIONS.mplayer=mplayer-menu~-aalib~-arts~-cdparanoia~-dvdread~-esound~-gif~-jpeg~-png~-nas~-mplayer-win32~-xvid
 
sysutils/mc:PKG_OPTIONS.mc=-subshell~-slang~-charset,PKGNAME=mc-light-4.6.1nb4
 sysutils/mc:PKG_OPTIONS.mc=samba,PKGNAME=mc-full-4.6.1nb4
 sysutils/mc:PKG_OPTIONS.mc=-x11,PKGNAME=mc-nox11-4.6.1nb4
and "multivariant" packages
 www/php-apc
 www/ap2-python
This is just a test (last test bulk build before release)
but you can see how it works.
Full release description is below.
Suggestions, bug report etc. are welcomed as always
(constructive please).
--------------------------------------------------------------------
--------------------------------------------------------------------
--------------------------------------------------------------------
Version 0.19.0, by Aleksey Cheusov, 2008年9月13日 12:00:06 +0300
 Multivariant packages, that is packages/modules for different
 versions of Apache, Python and PHP can be built by "distbb". To
 enable this set PKG_UPDATE_SRC_SUMMARY variable to
 'pkg_src_summary -m ...'
 in your distbb.conf. Because of this new feature per-package
 logging directories are changed from PKGPATH to PKGNAME. I don't
 like this (sometimes this makes untrivial the searching for logs of
 a particular packages) but I don't see any reasonable
 alternatives. AFAIK Joerg's pbulk does the same.
 "support for multivariant packages" feature has one interesting
 side-effect. PKGPATHs passed to distbb (by -f, -p options or
 LIST_ALL_PKGS_CMD variable in config file) can now be "enriched"
 with building options.
 Format for this "enriched" PKGPATH:
 category/package[:var1=value1[,var2=value2[,...]]]
 For example:
 textproc/dictem:EMACS_TYPE=xemacs214
 www/ap2-wsgi:PKG_APACHE=apache22,PYTHON_VERSION_REQD=25
 Spaces are also allowed inside "valueN", they should be encoded as
 symbol ~ (tilde).
 As a result you can build several variants of a given package
 with different options (see OPTIONS framework) by passing to distbb
 "enriched" PKGPATHs like the following
 
sysutils/mc:PKG_OPTIONS.mc=-subshell~-slang~-charset,PKGNAME=mc-light-4.6.1nb4
 sysutils/mc:PKG_OPTIONS.mc=samba,PKGNAME=mc-full-4.6.1nb4
 sysutils/mc:PKG_OPTIONS.mc=-x11,PKGNAME=mc-nox11-4.6.1nb4
 Local copy of pkg_src_summary (i.e. META/pkg_src_summary.txt) is
 used for building packages and generating report. This means that
 after stage_init finished, you may change PKG_SRC_SUMMARY file (by
 another distbb bulk build, pkg_update_src_summary or whatever).
 distbb.conf.in: no need for DISTBB_LOCK variable
 stage_init.in: minor fixes (awk getline vs. end of file)
 stage_init.in: if PKG_UPDATE_SRC_SUMMARY_CMD fails, its stderr is
 output to stderr too, not only to META/build_src_summary_log.txt
 (normally PKG_UPDATE_SRC_SUMMARY_CMD should always exit with exit
 status 0, failure means fatal error).
 Directories for logging (REPORT1_DIR/PKGNAME) are created as soon as
 they become necessary, not all at once at the beginning...
 Code for removing the empty logging directories is moved from
 stage_gen_report to stage_build
-- 
Best regards, Aleksey Cheusov.


Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /