|
Bugzilla – Full Text Bug Listing |
| Summary: | No development package/headers for drac | ||
|---|---|---|---|
| Product: | [openSUSE] SUSE Linux 10.1 | Reporter: | Peter Nixon <nix> |
| Component: | Network | Assignee: | Ralf Haferkamp <ralf> |
| Status: | RESOLVED INVALID | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Minor | ||
| Priority: | P5 - None | ||
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | SUSE Other | ||
| Whiteboard: | |||
| Found By: | Third Party Developer/Partner | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: | Updated SPEC to create a devel package and include drac.h | ||
|
Description
Peter Nixon
2006-09-01 12:56:56 UTC
drac doesn't does come with any headers (and doesn't need them). Applications that want to use drac, communicate via RPC with the daemon. You might want to have a look at http://mail.cc.umanitoba.ca/drac/index.html#works for details. The above command might be a bit misleading. drac comes with a static library (libdrac), which is packaged in our drac package. But there is no header file (not even in the drac sources) that you can include to use libdrac. I guess you nee to declare those few function yourself. See also the dracauth manpage. There IS a drac.h generated as part of the build, but it is not inclded by the suse spec. I need it to build flexpop packages which on debian require the drac-dev package (which contains drac.h) See my test below: koala:/usr/src/packages/SPECS # rpm -Uvh ftp://mirrors.kernel.org/opensuse/distribution/SL-OSS-factory/inst-source/suse/src/drac-1.12-24.src.rpm Retrieving ftp://mirrors.kernel.org/opensuse/distribution/SL-OSS-factory/inst-source/suse/src/drac-1.12-24.src.rpm 1:drac ########################################### [100%] koala:/usr/src/packages/SPECS # nice rpmbuild -ba drac.spec Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.49507 + umask 022 + cd /usr/src/packages/BUILD + cd /usr/src/packages/BUILD + rm -rf drac + /usr/bin/gzip -dc /usr/src/packages/SOURCES/drac-1.12.tar.gz + tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd drac ++ /usr/bin/id -u + '[' 0 = 0 ']' + /bin/chown -Rhf root . ++ /usr/bin/id -u + '[' 0 = 0 ']' + /bin/chgrp -Rhf root . + /bin/chmod -Rf a+rX,u+w,g-w,o-w . + echo 'Patch #0 (drac.dif):' Patch #0 (drac.dif): + patch -p1 -s + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.24757 + umask 022 + cd /usr/src/packages/BUILD + /bin/rm -rf /var/tmp/drac-1.12-build ++ dirname /var/tmp/drac-1.12-build + /bin/mkdir -p /var/tmp + /bin/mkdir /var/tmp/drac-1.12-build + cd drac + make 'OPTFLAGS=-O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fPIC' gcc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fPIC -c -o testing.o testing.c rpcgen -C drac.x gcc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fPIC -c -o dracauth.o dracauth.c gcc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fPIC -c -o drac_xdr.o drac_xdr.c gcc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fPIC -c -o drac_clnt.o drac_clnt.c rm -f libdrac.a ar cq libdrac.a dracauth.o drac_xdr.o drac_clnt.o : libdrac.a gcc -o testing testing.o -L. -ldrac -lnsl gcc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fPIC -c -o rpc.dracd.o rpc.dracd.c gcc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -O2 -g -m32 -march=i586 -mtune=i686 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fPIC -c -o drac_svc.o drac_svc.c gcc -o rpc.dracd rpc.dracd.o drac_xdr.o drac_svc.o -lnsl -ldb -lpthread -pie + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.98780 + umask 022 + cd /usr/src/packages/BUILD + cd drac + mkdir -p /var/tmp/drac-1.12-build//usr/share/man/man8 + mkdir -p /var/tmp/drac-1.12-build//usr/share/man/man3 + mkdir -p /var/tmp/drac-1.12-build/sbin + mkdir -p /var/tmp/drac-1.12-build//usr/lib + mkdir -p /var/tmp/drac-1.12-build/usr/sbin + mkdir -p /var/tmp/drac-1.12-build/etc/init.d + make install EBIN=/var/tmp/drac-1.12-build/usr/sbin/rpc.dracd /usr/bin/install -c -m 0755 rpc.dracd /var/tmp/drac-1.12-build/usr/sbin/rpc.dracd + make install-man MAN=/var/tmp/drac-1.12-build//usr/share/man/man /usr/bin/install -c -m 0444 rpc.dracd.1m /var/tmp/drac-1.12-build//usr/share/man/man8/rpc.dracd.8 /usr/bin/install -c -m 0444 dracauth.3 /var/tmp/drac-1.12-build//usr/share/man/man3/dracauth.3 + install -m 644 libdrac.a /var/tmp/drac-1.12-build//usr/lib/libdrac.a + install -m 755 rc.dracd /var/tmp/drac-1.12-build/etc/init.d/dracd + ln -sf ../etc/init.d/dracd /var/tmp/drac-1.12-build/sbin/rcdracd + mkdir -p /var/tmp/drac-1.12-build/var/adm/fillup-templates + install -m 644 sysconfig.dracd /var/tmp/drac-1.12-build/var/adm/fillup-templates/sysconfig.dracd + /usr/lib/rpm/find-debuginfo.sh /usr/src/packages/BUILD/drac extracting debug info from /var/tmp/drac-1.12-build/usr/sbin/rpc.dracd cpio: glibc-2.5/cc-nptl/csu/crti.S: No such file or directory cpio: glibc-2.5/cc-nptl/csu/crtn.S: No such file or directory cpio: glibc-2.5/csu/init.c: No such file or directory 32 blocks + RPM_BUILD_ROOT=/var/tmp/drac-1.12-build + export RPM_BUILD_ROOT + test -x /usr/sbin/Check -a 0 = 0 -o -x /usr/sbin/Check -a '!' -z /var/tmp/drac-1.12-build + echo 'I call /usr/sbin/Check...' I call /usr/sbin/Check... + /usr/sbin/Check -r--r--r-- 1 root root 917 Oct 19 13:13 /var/tmp/drac-1.12-build//usr/share/man/man3/dracauth.3.gz -r--r--r-- 1 root root 986 Oct 19 13:13 /var/tmp/drac-1.12-build//usr/share/man/man8/rpc.dracd.8.gz + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-symlink INFO: relinking /sbin/rcdracd -> /etc/init.d/dracd (was ../etc/init.d/dracd) Processing files: drac-1.12-24 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.92726 + umask 022 + cd /usr/src/packages/BUILD + cd drac + DOCDIR=/var/tmp/drac-1.12-build/usr/share/doc/packages/drac + export DOCDIR + rm -rf /var/tmp/drac-1.12-build/usr/share/doc/packages/drac + /bin/mkdir -p /var/tmp/drac-1.12-build/usr/share/doc/packages/drac + cp -pr COPYRIGHT Changes INSTALL PORTING README dracd.allow-sample /var/tmp/drac-1.12-build/usr/share/doc/packages/drac + exit 0 Finding Provides: /usr/lib/rpm/find-provides drac Finding Requires: /usr/lib/rpm/find-requires drac Finding Supplements: /usr/lib/rpm/find-supplements drac Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1 Requires(post): /bin/sh Requires(preun): /bin/sh Requires(postun): /bin/sh Requires: /bin/sh libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.2.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libdb-4.4.so libnsl.so.1 libpthread.so.0 libpthread.so.0(GLIBC_2.0) Processing files: drac-debuginfo-1.12-24 Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/drac-1.12-build Wrote: /usr/src/packages/SRPMS/drac-1.12-24.src.rpm Wrote: /usr/src/packages/RPMS/i586/drac-1.12-24.i586.rpm Wrote: /usr/src/packages/RPMS/i586/drac-debuginfo-1.12-24.i586.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.9895 + umask 022 + cd /usr/src/packages/BUILD + cd drac + rm -rf /var/tmp/drac-1.12-build + exit 0 koala:/usr/src/packages/SPECS # cat /usr/src/packages/BUILD/drac/drac.h /* * Please do not edit this file. * It was generated using rpcgen. */ #ifndef _DRAC_H_RPCGEN #define _DRAC_H_RPCGEN #include <rpc/rpc.h> #ifdef __cplusplus extern "C" { #endif #ifndef CLIENT #include <rpc/rpc.h> #endif struct drac_add_parm { u_long ip_addr; }; typedef struct drac_add_parm drac_add_parm; enum addstat { ADD_SUCCESS = 0, ADD_PERM = 1, ADD_SYSERR = 2, ADD_UNKOWN = 3, }; typedef enum addstat addstat; #define DRACPROG 900101 #define DRACVERS 1 #if defined(__STDC__) || defined(__cplusplus) #define DRACPROC_ADD 1 extern addstat * dracproc_add_1(drac_add_parm *, CLIENT *); extern addstat * dracproc_add_1_svc(drac_add_parm *, struct svc_req *); extern int dracprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t); #else /* K&R C */ #define DRACPROC_ADD 1 extern addstat * dracproc_add_1(); extern addstat * dracproc_add_1_svc(); extern int dracprog_1_freeresult (); #endif /* K&R C */ /* the xdr functions */ #if defined(__STDC__) || defined(__cplusplus) extern bool_t xdr_drac_add_parm (XDR *, drac_add_parm*); extern bool_t xdr_addstat (XDR *, addstat*); #else /* K&R C */ extern bool_t xdr_drac_add_parm (); extern bool_t xdr_addstat (); #endif /* K&R C */ #ifdef __cplusplus } #endif #endif /* !_DRAC_H_RPCGEN */ Created attachment 102020 [details] Updated SPEC to create a devel package and include drac.h Here is a patch to update the suse spec file. I have also built the new package for all SUSE versions on the build service at: http://build.opensuse.org/package/show?package=drac&project=home%3Apeternixon Thanks for your effort, but I just had a quick look at the flexpop sources. You are right in that flexpop checks for a file drac.h in configure. But grepping through the flexpop source doesn't reveal any point where that file is really included and used. In fact it just defines the required libdrac prototype itself in popupd.h : extern int dracauth(char *, unsigned long, char **); Additionally the drac.h file that is created during the build of drac is just needed internally for the RPC communication between libdrac and the drac-daemon. It is of no usage to applications that want to use libdrac like flexpop. So this really a bug in the configure.in of flexpop. You could just workaround that by doing e.g: touch /tmp/drac.h export CPPFLAGS="-I/tmp/" Hmm.. OK. I will take this up with the developers. I was talking to them earlier on IRC but as they are all in Japan they have just left for home. I have mailed them about it and will get back to you. Note I also opened a related Bug #213589 for postfix (also no headers) Setting back to invalid. |