rpm-cvs@freebsd

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

 



Made the damn thing build. And it even works from a little (rpm -qa at 
least :). The main problem currently is that any time it tries to run some 
external program and read it's results through a pipe - it hangs. For 
example:
[mmazur@lucky 1:21 /home/mmazur]$ head -1 .rpmmacros
%_topdir %(cd ..;pwd)
[mmazur@lucky 1:17 /home/mmazur]$ strace -o LOG -f rpm --eval '%_topdir'
^C
[mmazur@lucky 1:17 /home/mmazur]$ strace -o LOG -f rpm --eval '%_topdir'
error: Macro %__spec_install_post_strip has unterminated body
error: Macro %__spec_install_post_chrpath has unterminated body
[mmazur@lucky 1:21 /home/mmazur]$

Now strace tells us something like this:
14275 __getcwd("", 1024)                = 0
14275 stat("..", {st_mode=0, st_size=0, ...}) = 0
14275 chdir("/home")                    = 0
14275 write(1, "/home\n", 6)            = 6
14274 <... poll resumed> [{fd=3, events=POLLRDNORM}, {fd=5, events=POLLRDNORM, 
revents=POLLRDNORM}], 2, INFTIM) = 1
14275 exit(0)                           = ?
14274 gettimeofday({1088637453, 323941}, NULL) = 0
14274 --- SIGCHLD (Child exited) ---
14274 --- SIGCHLD (Child exited) ---
14274 syscall_417(0x806aca0)            = 0
14274 read(3, 0x806af20, 128)           = -1 EAGAIN (Resource temporarily 
unavailable)
14274 fcntl(0, F_SETFL, O_RDWR|O_NONBLOCK) = 0
14274 fcntl(1, F_SETFL, O_RDWR|O_NONBLOCK) = 0
14274 fcntl(2, F_SETFL, O_RDWR|O_NONBLOCK) = 0
14274 fcntl(5, F_SETFL, O_RDWR|O_NONBLOCK) = 0
14274 read(5, "/home\n", 16384)         = 6
14274 read(5, 0x8093000, 16384)         = -1 EAGAIN (Resource temporarily 
unavailable)
14274 poll([{fd=5, events=POLLRDNORM}], 1, 0) = 0
14274 poll(

And here's rpm from freebsd's ports:

14935 __getcwd("", 1024)                = 0
14935 stat("..", {st_mode=0, st_size=0, ...}) = 0
14935 chdir("/home")                    = 0
14935 write(1, "/home\n", 6)            = 6
14934 <... read resumed> "/home\n", 16384) = 6
14935 exit(0)                           = ?
14934 read(3, "", 16384)                = 0
14934 --- SIGCHLD (Child exited) ---
14934 close(3)

Any hints why did the second read start returning EAGAIN instead of plain 
NULL? (or at least hints where is this code)


-- 
In the year eighty five ten
God is gonna shake his mighty head
He'll either say,
"I'm pleased where man has been"
Or tear it down, and start again


_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/rpm-list

[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux