Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 May 2007 00:02:45 -0500
From:      Stephen Montgomery-Smith <stephen@math.missouri.edu>
To:        "[LoN]Kamikaze" <LoN_Kamikaze@gmx.de>
Cc:        freebsd-ports@freebsd.org, Kris Kennaway <kris@obsecurity.org>
Subject:   Re: Time to abandon recursive pulling of dependencies?
Message-ID:  <46469BF5.9030603@math.missouri.edu>
In-Reply-To: <464676CC.2000203@math.missouri.edu>
References:  <464597C6.3030406@gmx.de>	<20070512174011.GA22526@xor.obsecurity.org>	<4645FF71.60100@gmx.de>	<20070512175824.GA23103@xor.obsecurity.org>	<20070512133054.B5588@math.missouri.edu>	<4646193E.5040503@gmx.de>	<464665D5.1090509@math.missouri.edu> <464676CC.2000203@math.missouri.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------070009090107010701090704
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Stephen Montgomery-Smith wrote:
> Stephen Montgomery-Smith wrote:
>> OK chaps, this is what I came up with.  So for example, if I do "make 
>> install" on /usr/ports/x11/xorg (having made all the dependencies), on 
>> my computer it turns the pkg_create from taking about 4 minutes to the 
>> blink of an eye.  Now people need to figure out how to speed up the 
>> "make package-depends" in bsd.ports.mk, but that is beyond my abilities.
>>
>> I really hope this works.  The prospect of modifying a piece of code 
>> that is used by practically the whole FreeBSD community kind of scares 
>> me, so I would appreciate some good testing.
>>
>> Apply the patch http://www.math.missouri.edu/~stephen/deps/ddd to 
>> /usr/src/usr.sbin/pkg_install/lib.  I have also put the patch as an 
>> attachment, but I don't know if the mail filters will take it out.
>>
>> Stephen
> 
> I spoke too soon.  It is kind of buggy.  Sorry to have jumped the gun a 
> bit.

OK, try this one.


--------------070009090107010701090704
Content-Type: text/plain;
 name="ddd"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="ddd"

LS0tIC91c3Ivc3JjL3Vzci5zYmluL3BrZ19pbnN0YWxsL2xpYi9kZXBzLmMJV2VkIERlYyAg
NiAyMDoxNDoxMyAyMDA2CisrKyB1c3Iuc2Jpbi9wa2dfaW5zdGFsbC9saWIvZGVwcy5jCVNh
dCBNYXkgMTIgMjM6NTM6MzYgMjAwNwpAQCAtMjYsOTggKzI2LDE0NCBAQAogI2luY2x1ZGUg
PGVyci5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAKK3ZvaWQgbGlzdF9kZXBzKGNvbnN0IGNo
YXIgKnBrZ25hbWUsIGNoYXIgKipwa2dzLCBjaGFyICpsaXN0ZWQsIAorICAgICAgICAgICAg
ICAgY2hhciAqY2hlY2tfbG9vcCwgY2hhciAqKm5ld3BrZ3MsIGludCAqbnJuZXdwa2dzLAor
ICAgICAgICAgICAgICAgaW50ICplcnJfY250KTsKKwogLyoKICAqIFNvcnQgZ2l2ZW4gTlVM
TC10ZXJtaW5hdGVkIGxpc3Qgb2YgaW5zdGFsbGVkIHBhY2thZ2VzIChwa2dzKSBpbgogICog
c3VjaCBhIHdheSB0aGF0IGlmIHBhY2thZ2UgQSBkZXBlbmRzIG9uIHBhY2thZ2UgQiB0aGVu
IGFmdGVyCiAgKiBzb3J0aW5nIEEgd2lsbCBiZSBsaXN0ZWQgYmVmb3JlIEIgbm8gbWF0dGVy
IGhvdyB0aGV5IHdlcmUKICAqIG9yaWdpbmFsbHkgcG9zaXRpb25lZCBpbiB0aGUgbGlzdC4K
KyAqCisgKiBXb3JrcyBieSBwZXJmb3JtaW5nIGEgcmVjdXJzaXZlIGRlcHRoLWZpcnN0IHNl
YXJjaCBvbiB0aGUgCisgKiByZXF1aXJlZC1ieSBsaXN0cy4KICAqLworCiBpbnQKIHNvcnRk
ZXBzKGNoYXIgKipwa2dzKQogewotICAgIGNoYXIgKnRtcDsKLSAgICBpbnQgaSwgaiwgbG9v
cF9jbnQ7Ci0gICAgaW50IGVycl9jbnQgPSAwOworICAgIGludCBpLCBlcnJfY250PTA7Cisg
ICAgaW50IG5ycGtncywgbnJuZXdwa2dzOworICAgIGNoYXIgKmxpc3RlZCwgKmNoZWNrX2xv
b3AsICoqbmV3cGtnczsKKyAgICBjaGFyICpjcDsKIAogICAgIGlmIChwa2dzWzBdID09IE5V
TEwgfHwgcGtnc1sxXSA9PSBOVUxMKQogCXJldHVybiAoMCk7CiAKLSAgICBmb3IgKGkgPSAw
OyBwa2dzW2kgKyAxXTsgaSsrKSB7Ci0JLyoKLQkgKiBDaGVjayB0byBzZWUgaWYgYW55IG90
aGVyIHBhY2thZ2UgaW4gcGtnc1tpKzE6XSBkZXBlbmRzCi0JICogb24gcGtnc1tpXSBhbmQg
c3dhcCB0aG9zZSB0d28gcGFja2FnZXMgaWYgc28uCi0JICovCi0JbG9vcF9jbnQgPSAwOwot
CWZvciAoaiA9IGkgKyAxOyBwa2dzW2pdOyBqKyspIHsKLQkgICAgaWYgKGNoa2lmZGVwZW5k
cyhwa2dzW2pdLCBwa2dzW2ldKSA9PSAxKSB7Ci0JCS8qCi0JCSAqIFRyeSB0byBhdm9pZCBk
ZWFkbG9jayBpZiBwYWNrYWdlIEEgZGVwZW5kcyBvbiBCIHdoaWNoIGluCi0JCSAqIHR1cm4g
ZGVwZW5kcyBvbiBDIGFuZCBDIGR1ZSB0byBhbiBlcnJvciBkZXBlbmRzIG9uIEEuCi0JCSAq
IFVzZSB1Z2x5IGJ1dCBzaW1wbGUgbWV0aG9kLCBiZWNhc2UgaXQgU2hvdWxkIE5ldmVyCi0J
CSAqIEhhcHBlblt0bV0gaW4gdGhlIHJlYWwgbGlmZSBhbnl3YXkuCi0JCSAqLwotCQlpZiAo
bG9vcF9jbnQgPiA0MDk2KSB7Ci0JCSAgICB3YXJueCgiZGVwZW5kZW5jeSBsb29wIGRldGVj
dGVkIGZvciBwYWNrYWdlICVzIiwgcGtnc1tqXSk7Ci0JCSAgICBlcnJfY250Kys7Ci0JCSAg
ICBicmVhazsKLQkJfQotCQlsb29wX2NudCsrOwotCQl0bXAgPSBwa2dzW2ldOwotCQlwa2dz
W2ldID0gcGtnc1tqXTsKLQkJcGtnc1tqXSA9IHRtcDsKLQkJLyoKLQkJICogQW5vdGhlciBp
dGVyYXRpb24gcmVxdXJlZCB0byBjaGVjayBpZiBuZXcgcGtnc1tpXQotCQkgKiBpdHNlbGYg
aGFzIGFueSBwYWNrYWdlcyB0aGF0IGRlcGVuZCBvbiBpdAotCQkgKi8KLQkJaiA9IGkgKyAx
OwotCSAgICB9Ci0JfQorICAgIG5ycGtncyA9IDA7CisgICAgd2hpbGUgKHBrZ3NbbnJwa2dz
XSkgbnJwa2dzKys7CisgICAgbGlzdGVkID0gYWxsb2NhKG5ycGtncyk7CisgICAgaWYgKGxp
c3RlZCA9PSBOVUxMKSB7CisJd2FybngoIiVzKCk6IGFsbG9jYSgpIGZhaWxlZCIsIF9fZnVu
Y19fKTsKKwlyZXR1cm4gMTsKKyAgICB9CisgICAgYnplcm8obGlzdGVkLG5ycGtncyk7Cisg
ICAgY2hlY2tfbG9vcCA9IGFsbG9jYShucnBrZ3MpOworICAgIGlmIChjaGVja19sb29wID09
IE5VTEwpIHsKKwl3YXJueCgiJXMoKTogYWxsb2NhKCkgZmFpbGVkIiwgX19mdW5jX18pOwor
CXJldHVybiAxOworICAgIH0KKyAgICBiemVybyhjaGVja19sb29wLG5ycGtncyk7CisgICAg
bmV3cGtncyA9IGFsbG9jYShucnBrZ3Mqc2l6ZW9mKGNoYXIqKSk7CisgICAgaWYgKG5ld3Br
Z3MgPT0gTlVMTCkgeworCXdhcm54KCIlcygpOiBhbGxvY2EoKSBmYWlsZWQiLCBfX2Z1bmNf
Xyk7CisJcmV0dXJuIDE7CisgICAgfQorICAgIG5ybmV3cGtncyA9IDA7CisKKyAgICBmb3Ig
KGkgPSAwOyBwa2dzW2ldOyBpKyspIGlmICghbGlzdGVkW2ldKSB7CisJY2hlY2tfbG9vcFtp
XSA9IDE7CisJY3AgPSBzdHJjaHIocGtnc1tpXSwgJzonKTsKKwlpZiAoY3AgIT0gTlVMTCkK
KwkgICAgKmNwID0gJ1wwJzsKKwlsaXN0X2RlcHMocGtnc1tpXSxwa2dzLGxpc3RlZCxjaGVj
a19sb29wLG5ld3BrZ3MsJm5ybmV3cGtncywmZXJyX2NudCk7CisJaWYgKGNwICE9IE5VTEwp
CisJICAgICpjcCA9ICc6JzsKKwlsaXN0ZWRbaV0gPSAxOworCW5ld3BrZ3NbbnJuZXdwa2dz
XSA9IHBrZ3NbaV07CisJbnJuZXdwa2dzKys7CisgICAgfQorCisgICAgaWYgKG5ybmV3cGtn
cyAhPSBucnBrZ3MpIHsKKwlmcHJpbnRmKHN0ZGVyciwiVGhpcyBzaG91bGRuJ3QgaGFwcGVu
LCBhbmQgaW5kaWNhdGVzIGEgaHVnZSBlcnJvciBpbiB0aGUgY29kZS5cbiIpOworCWV4aXQo
MSk7CiAgICAgfQorICAgIGZvciAoaSA9IDA7IGkgPCBucm5ld3BrZ3M7IGkrKykgcGtnc1tp
XSA9IG5ld3BrZ3NbaV07CisKICAgICByZXR1cm4gZXJyX2NudDsKIH0KIAogLyoKLSAqIENo
ZWNrIHRvIHNlZSBpZiBwa2duYW1lMSBkZXBlbmRzIG9uIHBrZ25hbWUyLgotICogUmV0dXJu
cyAxIGlmIGRlcGVuZHMsIDAgaWYgbm90LCBhbmQgLTEgaWYgZXJyb3Igb2NjdXJlZC4KLSAq
LyAKLWludAotY2hraWZkZXBlbmRzKGNvbnN0IGNoYXIgKnBrZ25hbWUxLCBjb25zdCBjaGFy
ICpwa2duYW1lMikKLXsKLSAgICBjaGFyICpjcDEsICpjcDI7Ci0gICAgaW50IGVycmNvZGU7
CisgKiBUaGlzIHJlY3Vyc2l2ZSBmdW5jdGlvbiBsaXN0cyB0aGUgZGVwZW5kZW5jaWVzICh0
aGF0IGlzLCB0aGUgCisgKiAicmVxdWlyZWQtYnkicykgZm9yIHBrZ25hbWUsIHB1dHRpbmcg
dGhlbSBpbnRvIG5ld3BrZ3MuCisgKi8KKwordm9pZCBsaXN0X2RlcHMoY29uc3QgY2hhciAq
cGtnbmFtZSwgY2hhciAqKnBrZ3MsIGNoYXIgKmxpc3RlZCwgCisgICAgICAgICAgICAgICBj
aGFyICpjaGVja19sb29wLCBjaGFyICoqbmV3cGtncywgaW50ICpucm5ld3BrZ3MsCisgICAg
ICAgICAgICAgICBpbnQgKmVycl9jbnQpIHsKKyAgICBjaGFyICoqcmIsICoqcmJ0bXA7Cisg
ICAgY2hhciAqY3A7CisgICAgaW50IGVycmNvZGUsIGksIGo7CiAgICAgc3RydWN0IHJlcXJf
YnlfZW50cnkgKnJiX2VudHJ5OwogICAgIHN0cnVjdCByZXFyX2J5X2hlYWQgKnJiX2xpc3Q7
CiAKLSAgICBjcDIgPSBzdHJjaHIocGtnbmFtZTIsICc6Jyk7Ci0gICAgaWYgKGNwMiAhPSBO
VUxMKQotCSpjcDIgPSAnXDAnOwotICAgIGNwMSA9IHN0cmNocihwa2duYW1lMSwgJzonKTsK
LSAgICBpZiAoY3AxICE9IE5VTEwpCi0JKmNwMSA9ICdcMCc7Ci0KLSAgICBlcnJjb2RlID0g
MDsKLSAgICAvKiBDaGVjayB0aGF0IHBrZ25hbWUyIGlzIGFjdHVhbGx5IGluc3RhbGxlZCAq
LwotICAgIGlmIChpc2luc3RhbGxlZHBrZyhwa2duYW1lMikgPD0gMCkKLQlnb3RvIGV4aXQ7
CisgICAgaWYgKGlzaW5zdGFsbGVkcGtnKHBrZ25hbWUpIDw9IDApCisJcmV0dXJuOwogCi0g
ICAgZXJyY29kZSA9IHJlcXVpcmVkYnkocGtnbmFtZTIsICZyYl9saXN0LCBGQUxTRSwgVFJV
RSk7CisgICAgZXJyY29kZSA9IHJlcXVpcmVkYnkocGtnbmFtZSwgJnJiX2xpc3QsIEZBTFNF
LCBUUlVFKTsKICAgICBpZiAoZXJyY29kZSA8IDApCi0JZ290byBleGl0OwotCi0gICAgZXJy
Y29kZSA9IDA7CisJcmV0dXJuOworICAgIC8qCisgICAgICogV2UgcHV0IHJiX2xpc3QgaW50
byBhbiBhcmd2IHN0eWxlIE5VTEwgdGVybWluYXRlZCBsaXN0LAorICAgICAqIGJlY2F1c2Ug
cmVxdWlyZWRieSB1c2VzIHNvbWUgc3RhdGljIHN0b3JhZ2UsIGFuZCBsaXN0X2RlcHMKKyAg
ICAgKiBpcyBhIHJlY3Vyc2l2ZSBmdW5jdGlvbi4KKyAgICAgKi8KKworICAgIHJidG1wID0g
cmIgPSBhbGxvY2EoKGVycmNvZGUgKyAxKSAqIHNpemVvZigqcmIpKTsKKyAgICBpZiAocmIg
PT0gTlVMTCkgeworCXdhcm54KCIlcygpOiBhbGxvY2EoKSBmYWlsZWQiLCBfX2Z1bmNfXyk7
CisJKCplcnJfY250KSsrOworCXJldHVybjsKKyAgICB9CiAgICAgU1RBSUxRX0ZPUkVBQ0go
cmJfZW50cnksIHJiX2xpc3QsIGxpbmspIHsKLQlpZiAoc3RyY21wKHJiX2VudHJ5LT5wa2du
YW1lLCBwa2duYW1lMSkgPT0gMCkgewkvKiBtYXRjaCAqLwotCSAgICBlcnJjb2RlID0gMTsK
LQkgICAgYnJlYWs7CisJKnJidG1wID0gYWxsb2NhKHN0cmxlbihyYl9lbnRyeS0+cGtnbmFt
ZSkgKyAxKTsKKwlpZiAoKnJidG1wID09IE5VTEwpIHsKKwkgICAgd2FybngoIiVzKCk6IGFs
bG9jYSgpIGZhaWxlZCIsIF9fZnVuY19fKTsKKwkgICAgKCplcnJfY250KSsrOworCSAgICBy
ZXR1cm47CiAJfQorCXN0cmNweSgqcmJ0bXAsIHJiX2VudHJ5LT5wa2duYW1lKTsKKwlyYnRt
cCsrOwogICAgIH0KKyAgICAqcmJ0bXAgPSBOVUxMOwogCi1leGl0OgotICAgIGlmIChjcDEg
IT0gTlVMTCkKLQkqY3AxID0gJzonOwotICAgIGlmIChjcDIgIT0gTlVMTCkKLQkqY3AyID0g
JzonOwotICAgIHJldHVybiBlcnJjb2RlOworICAgIGZvciAoaSA9IDA7IHJiW2ldOyBpKysp
CisJZm9yIChqID0gMDsgcGtnc1tqXTsgaisrKSBpZiAoIWxpc3RlZFtqXSkgeworCSAgICBj
cCA9IHN0cmNocihwa2dzW2pdLCAnOicpOworCSAgICBpZiAoY3AgIT0gTlVMTCkKKwkJKmNw
ID0gJ1wwJzsKKwkgICAgaWYgKHN0cmNtcChyYltpXSwgcGtnc1tqXSkgPT0gMCkgeyAvKm1h
dGNoICovCisJCS8qCisJCSAqIFRyeSB0byBhdm9pZCBkZWFkbG9jayBpZiBwYWNrYWdlIEEg
ZGVwZW5kcyBvbiBCIHdoaWNoIGluCisJCSAqIHR1cm4gZGVwZW5kcyBvbiBDIGFuZCBDIGR1
ZSB0byBhbiBlcnJvciBkZXBlbmRzIG9uIEEuCisJCSAqIEl0IFNob3VsZCBOZXZlciBIYXBw
ZW5bdG1dIGluIHJlYWwgbGlmZS4KKwkJICovCisJCWlmIChjaGVja19sb29wW2pdKSB7CisJ
CSAgICB3YXJueCgiZGVwZW5kZW5jeSBsb29wIGRldGVjdGVkIGZvciBwYWNrYWdlICVzIiwg
cGtnc1tqXSk7CisJCSAgICAoKmVycl9jbnQpKys7CisJCX0KKwkJZWxzZSB7CisJCSAgICBj
aGVja19sb29wW2pdID0gMTsKKwkJICAgIGxpc3RfZGVwcyhwa2dzW2pdLHBrZ3MsbGlzdGVk
LGNoZWNrX2xvb3AsbmV3cGtncyxucm5ld3BrZ3MsZXJyX2NudCk7CisJCSAgICBsaXN0ZWRb
al0gPSAxOworCQkgICAgbmV3cGtnc1sqbnJuZXdwa2dzXSA9IHBrZ3Nbal07CisJCSAgICAo
Km5ybmV3cGtncykrKzsKKwkJfQorCSAgICB9CisJICAgIGlmIChjcCAhPSBOVUxMKQorCQkq
Y3AgPSAnOic7CisJfQogfQogCiAvKgo=
--------------070009090107010701090704--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46469BF5.9030603>