[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: history of buildinstall.functions



Hi,

On 02/10/2010 09:11 AM, Martin Gracik wrote:
Hello,

yeah, we know buildinstall isn't perfect, that's why it's being rewritten now.
I hope that the new code will be working a lot better.


Martin,

Do you have Lorax (John that is the buildscripts rewrite) hosted somewhere?

Are we going to put this inside anaconda again, or maybe we should give Lorax
its own git ?

Either way if you put a tarbal somewhere, then maybe John is interested in testing
it, John ?

Regards,

Hans


--

   Martin Gracik

----- "John Reiser"<jreiser bitwagon com>  wrote:

Did buildinstall.functions (and/or mkinitrd), which is now written
in bash, used to be written in some other language, such as python?
get_dso_deps contains a comment "I still hate shell."

I have been building and testing a DVD from rawhide daily using
pungi.  Building takes about 40 to 45 minutes:  10 minutes user CPU,
14 minutes system CPU, and 16 to 20 minutes download.

I'd like that to be faster, say 8 to 10 minutes plus download.
After Bug 559647 (quadratic work: genisoimage per .rpm) then
the next longest piece is upd-instroot.  "strace -f -c" shows
that there are over 125,000 successful execve().  Now install.img
has around 14,600 files, so the average is more than 8 execve
per file.  A detailed examination using strace shows over 97,000
execve by upd-instroot:
    34573  upd-instroot execve("/usr/bin/dirname",
    15167  upd-instroot execve("/bin/cp",
    12513  upd-instroot execve("/bin/egrep",
    11478  upd-instroot execve("/usr/bin/file",
     5538  upd-instroot execve("/bin/sed",
     5010  upd-instroot execve("/bin/basename",
     3675  upd-instroot execve("/usr/bin/readlink",
     3090  upd-instroot execve("/usr/sbin/chroot",
     2264  upd-instroot execve("/bin/rm",
     1134  upd-instroot execve("/bin/ln",
     1046  upd-instroot execve("/bin/grep",
     1031  upd-instroot execve("/lib64/ld-2.11.90.so",
     1030  upd-instroot execve("/bin/uname",
      703  upd-instroot execve("/usr/bin/find",
      627  upd-instroot execve("/bin/mkdir",
       [snip]
and the culprits are instFile() and get_dso_deps() and callers.
One process making some direct calls per file, instead of
clone+execve several times per file, should be much faster.

--

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list redhat com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list redhat com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]