From dominik at aaf16.warszawa.sdi.tpnet.pl Tue Dec 4 00:46:34 2001 From: dominik at aaf16.warszawa.sdi.tpnet.pl (Dominik Mierzejewski) Date: Tue, 4 Dec 2001 00:46:34 +0100 Subject: Fwd: Re: tutorial for building rpms? Message-ID: <20011204004634.A3267@wonko.esi.org.pl> Seems like we are receiving some praise from Jeff... :-) -- "The Universe doesn't give you any points for doing things that are easy." -- Sheridan to Garibaldi in Babylon 5:"The Geometry of Shadows" Dominik 'Rathann' Mierzejewski -------------- next part -------------- An embedded message was scrubbed... From: Jeff Johnson Subject: Re: tutorial for building rpms? Date: Mon, 3 Dec 2001 16:46:02 -0500 Size: 4652 URL: From malekith at pld.org.pl Fri Dec 7 18:06:33 2001 From: malekith at pld.org.pl (Michal Moskal) Date: Fri, 7 Dec 2001 18:06:33 +0100 Subject: malekith: pld-builder/parbuilder Makefile README default.config install-parbuilder parbuilder-client parbuilder-cronjob parbuilder-server parbuilder.rc-inetd parbuilder.spec pld-builder/parbuilder/aux full mkspool ... In-Reply-To: <20011207164603.C9388E1048@wun.zie.pg.gda.pl> Message-ID: <20011207180633.A23942@ep09.kernel.pl> On Fri, Dec 07, 2001 at 05:46:03PM +0100, PLD CVS wrote: > Module name: pld-builder > Changes by: malekith 01/12/07 17:46:03 > > Added files: > parbuilder : Makefile README default.config > install-parbuilder parbuilder-client > parbuilder-cronjob parbuilder-server > parbuilder.rc-inetd parbuilder.spec > parbuilder/aux : full mkspool > parbuilder/template/data-ARCH: id news pkglist rpmqa src > parbuilder/template/data-general: id news > parbuilder/template/spool-ARCH: last_run > > Log message: > - distributed package building enviroment (first shot, nfy) more information on saturday/monday (along with finished version) -- : Michal ``,/\/\, '' Moskal | | : GCS {C,UL}++++$ : | |alekith @ |)|(| . org . pl : {E--, W, w-,M}- : Linux: We are dot in .ORG. | : {b,e>+}++ !tv h : CurProj: ftp://ftp.pld.org.pl/people/malekith/ksi : PLD Team member From malekith at pld.org.pl Sat Dec 8 13:53:04 2001 From: malekith at pld.org.pl (Michal Moskal) Date: Sat, 8 Dec 2001 13:53:04 +0100 Subject: parbuilder Message-ID: <20011208135304.A8186@ep09.kernel.pl> I have just commited improved version of it to CVS. It is still not suppoused to work, but you might want to look at it... #v+ WTF is it? ========== It is tool for collecting more or less statstical information about how do some rpm packages build (or not...). It is not intended to build production rpms. Therefore we still need regular builders :^) Principle of operation ====================== Server process has list of rpm, that we want to find out if they build or not. This is probably list of *all* rpms, if it gets empty we fill it again. Server process runs from inetd. We need only one such beast, since one server can handle multiple queues (used for diffrent architactures, or distribution versions). There are number of client machines. On each cronjob is installed that checks if CPU gots cold (load avarage under .5), and if so, it connects to the server and asks it for a job. (There is also lock to prevent building more then one package at once). After builder script (that is run in chroot) has finished we: a) remove any produced rpm's, tmp build directories and so on b) output information about exit status of builder command and resources consumed c) output bziped build log This information is captured outside the chroot, and sent back to the server. Why don't we save rpms? =================================== There is no point in saving rpms. Regular builders are used for this purpouse. This envirment should not be used for test builds. It is more, to see how destablizaing, to the rest of packages, was the change in some library or development tool, just to avoid situation when 1/2 of repo doesn't compile. rpm -qa ======= Set of installed packages on client boxes is controled. Whenever job is assigned, md5 sum of required set of packages is sent to the client. If it happen not to have the required package set, it asks server for current requirements on package set. Client cronjob can optionall automagicly upgrade packages then, otherwise administrator is notified. How to setup client machine? ============================ a) install parbuilder package b) do sudo su - parbuilder ./install-parbuilder [answer few questions...] sudo ./install-all How to setup server machine? ============================ (Note, that you probably don't need server machine) a) install parbuilder-server package b) sudo vi /etc/parbuilder-server/config c) sudo su - parbuilderd copy spool files from spool-ARCH, buildlogs/ARCH/ and data-ARCH templates edit other files (identities, pkglists, news and so on) Future ====== We might want to adopt it for regular rpm building, if we have spare reilable machines. #v- (from README) -- : Michal ``,/\/\, '' Moskal | | : GCS {C,UL}++++$ : | |alekith @ |)|(| . org . pl : {E--, W, w-,M}- : Linux: We are dot in .ORG. | : {b,e>+}++ !tv h : CurProj: ftp://ftp.pld.org.pl/people/malekith/ksi : PLD Team member From blues at ds6.pg.gda.pl Sat Dec 8 14:33:36 2001 From: blues at ds6.pg.gda.pl (Blues) Date: Sat, 8 Dec 2001 14:33:36 +0100 (CET) Subject: parbuilder In-Reply-To: <20011208135304.A8186@ep09.kernel.pl> Message-ID: On Sat, 8 Dec 2001, Michal Moskal wrote: > There are number of client machines. On each cronjob is installed that checks > if CPU gots cold (load avarage under .5), and if so, it connects to the server > and asks it for a job. (There is also lock to prevent building more then > one package at once). After builder script (that is run in chroot) has Don't forget abaut mashines where CPU>1. Load 2 means there the same as 1 at CPU=1 > Why don't we save rpms? > =================================== > > There is no point in saving rpms. Regular builders are used for this > purpouse. This envirment should not be used for test builds. It is more, > to see how destablizaing, to the rest of packages, was the change in some > library or development tool, just to avoid situation when 1/2 of repo doesn't > compile. leave possibility to save rpms. Maybe (==me :) ) some would like to keep them... -- --------------------------------- pozdr. Pawe? Go?aszewski --------------------------------- CPU not found - software emulation... From malekith at pld.org.pl Sat Dec 8 14:46:31 2001 From: malekith at pld.org.pl (Michal Moskal) Date: Sat, 8 Dec 2001 14:46:31 +0100 Subject: parbuilder In-Reply-To: Message-ID: <20011208144631.F8414@ep09.kernel.pl> On Sat, Dec 08, 2001 at 02:33:36PM +0100, Blues wrote: > On Sat, 8 Dec 2001, Michal Moskal wrote: > > There are number of client machines. On each cronjob is installed that checks > > if CPU gots cold (load avarage under .5), and if so, it connects to the server > > and asks it for a job. (There is also lock to prevent building more then > > one package at once). After builder script (that is run in chroot) has > > Don't forget abaut mashines where CPU>1. > Load 2 means there the same as 1 at CPU=1 Yes. You're right (gotta parse /proc/cpuinfo before) > > Why don't we save rpms? > > =================================== > > > > There is no point in saving rpms. Regular builders are used for this > > purpouse. This envirment should not be used for test builds. It is more, > > to see how destablizaing, to the rest of packages, was the change in some > > library or development tool, just to avoid situation when 1/2 of repo doesn't > > compile. > > leave possibility to save rpms. > Maybe (==me :) ) some would like to keep them... I could do so, but you won't ever know *which* rpm's will you get from the server (what do you need *random* rpm's for?). So maybe it would be better to collect them on server. But this would generate more network treffic. -- : Michal ``,/\/\, '' Moskal | | : GCS {C,UL}++++$ : | |alekith @ |)|(| . org . pl : {E--, W, w-,M}- : Linux: We are dot in .ORG. | : {b,e>+}++ !tv h : CurProj: ftp://ftp.pld.org.pl/people/malekith/ksi : PLD Team member From blues at ds6.pg.gda.pl Sat Dec 8 14:58:17 2001 From: blues at ds6.pg.gda.pl (Blues) Date: Sat, 8 Dec 2001 14:58:17 +0100 (CET) Subject: parbuilder In-Reply-To: <20011208144631.F8414@ep09.kernel.pl> Message-ID: On Sat, 8 Dec 2001, Michal Moskal wrote: > > > There are number of client machines. On each cronjob is installed that checks > > > if CPU gots cold (load avarage under .5), and if so, it connects to the server > > > and asks it for a job. (There is also lock to prevent building more then > > > one package at once). After builder script (that is run in chroot) has > > > > Don't forget abaut mashines where CPU>1. > > Load 2 means there the same as 1 at CPU=1 ^^^^^^^^^^ I mean at CPU=2 :) > > leave possibility to save rpms. > > Maybe (==me :) ) some would like to keep them... > I could do so, but you won't ever know *which* rpm's will you get from the > server (what do you need *random* rpm's for?). So maybe it would be better > to collect them on server. But this would generate more network treffic. 3 things are nedded: LEAVE_RPMS=Y/N WHERE_TO_COPY=some_path some ssh key. Thats all.... Why to leave them? If I would like to install new devel evolution version I can look localy - maybe I've got it on my disk/server. This will reduce my network traffic (sure, stupid, but... :))) And maybe the same builder could be used to force build some aplication.... -- --------------------------------- pozdr. Pawe? Go?aszewski --------------------------------- CPU not found - software emulation... From malekith at pld.org.pl Sat Dec 8 15:01:16 2001 From: malekith at pld.org.pl (Michal Moskal) Date: Sat, 8 Dec 2001 15:01:16 +0100 Subject: parbuilder In-Reply-To: Message-ID: <20011208150116.A15436@ep09.kernel.pl> On Sat, Dec 08, 2001 at 02:58:17PM +0100, Blues wrote: > On Sat, 8 Dec 2001, Michal Moskal wrote: > > > > There are number of client machines. On each cronjob is installed that checks > > > > if CPU gots cold (load avarage under .5), and if so, it connects to the server > > > > and asks it for a job. (There is also lock to prevent building more then > > > > one package at once). After builder script (that is run in chroot) has > > > > > > Don't forget abaut mashines where CPU>1. > > > Load 2 means there the same as 1 at CPU=1 > ^^^^^^^^^^ > I mean at CPU=2 :) I understand :) > > > leave possibility to save rpms. > > > Maybe (==me :) ) some would like to keep them... > > I could do so, but you won't ever know *which* rpm's will you get from the > > server (what do you need *random* rpm's for?). So maybe it would be better > > to collect them on server. But this would generate more network treffic. > > 3 things are nedded: > LEAVE_RPMS=Y/N > WHERE_TO_COPY=some_path > some ssh key. > Thats all.... Hm, if we had this, we could pararell build all packages... > Why to leave them? If I would like to install new devel evolution version > I can look localy - maybe I've got it on my disk/server. This will reduce > my network traffic (sure, stupid, but... :))) Ok, I will leave *possiblity* off by default. > And maybe the same builder could be used to force build some > aplication.... Sorry, but I don't understand. -- : Michal ``,/\/\, '' Moskal | | : GCS {C,UL}++++$ : | |alekith @ |)|(| . org . pl : {E--, W, w-,M}- : Linux: We are dot in .ORG. | : {b,e>+}++ !tv h : CurProj: ftp://ftp.pld.org.pl/people/malekith/ksi : PLD Team member From ser at metalab.unc.edu Sun Dec 9 14:44:14 2001 From: ser at metalab.unc.edu (--s+) Date: Sun, 9 Dec 2001 14:44:14 +0100 Subject: [ATTN: break in listserver`s work] Message-ID: <20011209144414.A22082@szafa.hyperreal.pl> Hello, today (sunday) from 15:00 UTC to 18:00 UTC our listserver will be off due to mysql database maintance. Sergiusz -- http://ibiblio.org/ser/ | http://it-zone.org/ _____________________________________________________________________ linuxdoc.org|gnu.org|hyperreal.pl|pld.org.pl|maxweber.net|it-zone.org "The moon is made of green cheese." -- John Heywood From malekith at pld.org.pl Mon Dec 17 18:06:10 2001 From: malekith at pld.org.pl (Michal Moskal) Date: Mon, 17 Dec 2001 18:06:10 +0100 Subject: [hjl@lucon.org: PATCH: Preserve e_flags.] Message-ID: <20011217180610.A24813@ep09.kernel.pl> Hmm.. This fixes problem with chpax. Should I install it to our cvs or we're downgrading? ----- Forwarded message from "H . J . Lu" ----- Date: Sat, 15 Dec 2001 16:20:17 -0800 From: "H . J . Lu" To: Michal Moskal Cc: binutils at sourceware.cygnus.com Subject: PATCH: Preserve e_flags. User-Agent: Mutt/1.2.5i X-AntiVirus: scanned for viruses by AMaViS 0.2.1 (http://amavis.org/) X-AntiVirus: scanned for viruses by AMaViS 0.2.1 (http://amavis.org/) On Sat, Dec 15, 2001 at 10:11:35AM -0800, H . J . Lu wrote: > On Tue, Dec 11, 2001 at 03:53:20PM +0100, Michal Moskal wrote: > > chpax is simple utility to be used with openwall linux kernel patch. > > The patch disallows certain things, but some programs still need it. > > chpax is used to set certain flags in elf file (e_flags field, PAGE_EXEC > > is for instance 0x01). > > (sorry if you already knew that... :) > > > > And now the problem is that objcopy (and strip), does not copy e_flags > > from one elf file to another. > > > Here is a patch. Shouldn't we preserve e_flags? H.J. --- 2001-12-15 H.J. Lu * elf-bfd.h (_bfd_elf_copy_private_bfd_data): New. Prototype. * elf.c (_bfd_elf_copy_private_bfd_data): New. Copy e_flags in the ELF header. * elfxx-target.h (bfd_elfNN_bfd_copy_private_bfd_data): Defined to _bfd_elf_copy_private_bfd_data. --- bfd/elf-bfd.h.header Sat Dec 15 09:30:02 2001 +++ bfd/elf-bfd.h Sat Dec 15 16:00:41 2001 @@ -1135,6 +1135,8 @@ extern char *bfd_elf_string_from_elf_sec extern char *bfd_elf_get_str_section PARAMS ((bfd *, unsigned)); +extern boolean _bfd_elf_copy_private_bfd_data + PARAMS ((bfd *, bfd *)); extern boolean _bfd_elf_print_private_bfd_data PARAMS ((bfd *, PTR)); extern void bfd_elf_print_symbol --- bfd/elf.c.header Sat Dec 15 16:08:37 2001 +++ bfd/elf.c Sat Dec 15 16:07:02 2001 @@ -782,6 +782,24 @@ _bfd_elf_merge_sections (abfd, info) /* Print out the program headers. */ boolean +_bfd_elf_copy_private_bfd_data (ibfd, obfd) + bfd *ibfd; + bfd *obfd; +{ + if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour + || bfd_get_flavour (obfd) != bfd_target_elf_flavour) + return true; + + BFD_ASSERT (!elf_flags_init (obfd) + || (elf_elfheader (obfd)->e_flags + == elf_elfheader (ibfd)->e_flags)); + + elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags; + elf_flags_init (obfd) = true; + return true; +} + +boolean _bfd_elf_print_private_bfd_data (abfd, farg) bfd *abfd; PTR farg; --- bfd/elfxx-target.h.header Thu Nov 15 10:18:25 2001 +++ bfd/elfxx-target.h Sat Dec 15 16:10:11 2001 @@ -142,7 +142,7 @@ Foundation, Inc., 59 Temple Place - Suit #endif #ifndef bfd_elfNN_bfd_copy_private_bfd_data #define bfd_elfNN_bfd_copy_private_bfd_data \ - ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true) + _bfd_elf_copy_private_bfd_data #endif #ifndef bfd_elfNN_bfd_print_private_bfd_data #define bfd_elfNN_bfd_print_private_bfd_data \ ----- End forwarded message ----- -- : Michal ``,/\/\, '' Moskal | | : GCS {C,UL}++++$ : | |alekith @ |)|(| . org . pl : {E--, W, w-,M}- : Linux: We are dot in .ORG. | : {b,e>+}++ !tv h : CurProj: ftp://ftp.pld.org.pl/people/malekith/ksi : PLD Team member From malekith at pld.org.pl Sat Dec 29 18:24:37 2001 From: malekith at pld.org.pl (Michal Moskal) Date: Sat, 29 Dec 2001 18:24:37 +0100 Subject: binutils Message-ID: <20011229172437.GA14205@ep09.kernel.pl> I've commited patch from H.J.Lu for binutils. It preserves e_flags in elf header to make strip not colide with chpax. Please test it. (becouse of network problems there was no pld-cvs-commit@ message about .spec change) -- : Michal ``,/\/\, '' Moskal | | : GCS {C,UL}++++$ : | |alekith @ |)|(| . org . pl : {E--, W, w-,M}- : Linux: We are dot in .ORG. | : {b,e>+}++ !tv h : CurProj: ftp://ftp.pld.org.pl/people/malekith/ksi : PLD Team member