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

[leafnode-list] report on .rpm build of v2.0b8_ma7.6pre



Hi,

I'd like to share my experiences with 
rpm builds and leafnode v2.x. 

Currently it fails for several reasons, if build as 
normal users and/or root. 

1) There is no README File, it is called README.html 
   despite what the .spec says. 
   So, the spec line about documentation will fail
   even as root. I had to remove README fom %doc 

2) Giving away created files and directories in $(INSTALLROOT)
   to some other user failes because of permissions when 
   build as normal user.

   Some directories needed for install 
   are not created inside of  $(INSTALLROOT). 

   examples are:  
        /tmp/leafnode-$version-rpmbuild/usr/...
        /tmp/leafnode-$version-rpmbuild/etc/...   

   I added a new rule  rpm-install in Makefile.in, which 
   is mostly a verbatim copy of rule install, where each
   "install  .." has the group and owner settings removed.
   You can even strip the permissions and let all files
   have your own uid.gid + normal permissions because
   rpm -U  packet.rpm  will set them according to the 
   definition in the .spec during install. 
   

3) Because I'm building this on a SuSE system (7.2 & 7.1) 
   some file path are different. 
   eg:  man pages and docs are expected under /usr/share/

   If you don't set MANDIR to /usr/share/man, brp-compress
   will hang and  rpm will not create the package files
   because it can not find the man directories!   

I hope the resulting diff files are good enough to 
fix the latest version of leafnode, too. 

Here is the patch:

Attachment:
leafnode-2.0b8_ma7.6pre.fix_rpm_build.diff
Description: Binary data





In addition to the rpm fixes, I changed the behavior of error
output during initvars(progname).  

This was neccessary to have an error log on failed uid changes 
in leafnode when it is started as server from tcpd. 

The original wrote every error message during initvars to STDERR 
only instead of syslog as for the rest of the messages. I added a 
call to ln_log for each instance of error report. I don't know if
level LNLOG_CTOP is ok, but I found it in the same file miscutil.c 
and failures in global initialization should be logged all the time,
I guess.

Using syslog in initvars() requires  ln_log_open()  to be called before
initvars() which is fixed for all functions calling initvars().  


The required changes against v2.0b8_ma7.6pre  
are in this patch.

Attachment:
leafnode-2.0b8_ma7.6pre.send_init_errors_to_syslog.diff
Description: Binary data




Bye,

Volker Apelt
--
Volker Apelt   volker_apelt  .@.  yahoo.de (remove the dots, please)   

Attachment: bin00005.bin
Description: ""

Attachment: bin00004.bin
Description: "Dipl. Chem. +49 6172 31126 "