Bug Tracker item #2918824, was opened at 2009-12-21 18:06
Message generated for change (Comment added) made by csmr
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1126467&aid=2918824&group_id=250683

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: doc
Group: v3.9.0
Status: Open
>Resolution: None
Priority: 5
Private: No
Submitted By: Carlo Rodrigues (csmr)
Assigned to: Nobody/Anonymous (nobody)
Summary: Man pages not working.

Initial Comment:
During make install, man pages are created, then removed and then replaced by 
symbolic links to themselves.

snippet:


Making install in man                                                           
                                                                                
                    
make[1]: Entering directory `/home/csmr/rpmbuild/SOURCES/dspam-3.8.9.orig/man'  
                                                                                
                    
Making install in .                                                             
                                                                                
                    
make[2]: Entering directory `/home/csmr/rpmbuild/SOURCES/dspam-3.8.9.orig/man'  
                                                                                
                    
make[3]: Entering directory `/home/csmr/rpmbuild/SOURCES/dspam-3.8.9.orig/man'  
                                                                                
                    
make[3]: Nothing to be done for `install-exec-am'.                              
                                                                                
                    
test -z "/home/csmr/usr/man/man1" || mkdir -p -- "/home/csmr/usr/man/man1"      
                                                                                
                    
 /usr/bin/install -c -m 644 './dspam.1' '/home/csmr/usr/man/man1/dspam.1'       
                                                                                
                    
 /usr/bin/install -c -m 644 './dspam_admin.1' 
'/home/csmr/usr/man/man1/dspam_admin.1'                                         
                                                      
 /usr/bin/install -c -m 644 './dspam_clean.1' 
'/home/csmr/usr/man/man1/dspam_clean.1'                                         
                                                      
 /usr/bin/install -c -m 644 './dspam_crc.1' 
'/home/csmr/usr/man/man1/dspam_crc.1'                                           
                                                        
 /usr/bin/install -c -m 644 './dspam_dump.1' 
'/home/csmr/usr/man/man1/dspam_dump.1'                                          
                                                       
 /usr/bin/install -c -m 644 './dspam_logrotate.1' 
'/home/csmr/usr/man/man1/dspam_logrotate.1'                                     
                                                  
 /usr/bin/install -c -m 644 './dspam_merge.1' 
'/home/csmr/usr/man/man1/dspam_merge.1'                                         
                                                      
 /usr/bin/install -c -m 644 './dspam_stats.1' 
'/home/csmr/usr/man/man1/dspam_stats.1'                                         
                                                      
 /usr/bin/install -c -m 644 './dspam_train.1' 
'/home/csmr/usr/man/man1/dspam_train.1'                                         
                                                      
test -z "/home/csmr/usr/man/man3" || mkdir -p -- "/home/csmr/usr/man/man3"      
                                                                                
                    
 /usr/bin/install -c -m 644 './libdspam.3' '/home/csmr/usr/man/man3/libdspam.3' 
                                                                                
                    
make  install-data-hook                                                         
                                                                                
                    
make[4]: Entering directory `/home/csmr/rpmbuild/SOURCES/dspam-3.8.9.orig/man'  
                                                                                
                    
rm -f /home/csmr/usr/man/man1/dspam.1                                           
                                                                                
                    
rm -f /home/csmr/usr/man/man1/dspam_admin.1                                     
                                                                                
                    
rm -f /home/csmr/usr/man/man1/dspam_clean.1                                     
                                                                                
                    
rm -f /home/csmr/usr/man/man1/dspam_crc.1                                       
                                                                                
                    
rm -f /home/csmr/usr/man/man1/dspam_dump.1                                      
                                                                                
                    
rm -f /home/csmr/usr/man/man1/dspam_logrotate.1                                 
                                                                                
                    
rm -f /home/csmr/usr/man/man1/dspam_merge.1                                     
                                                                                
                    
rm -f /home/csmr/usr/man/man1/dspam_stats.1                                     
                                                                                
                    
rm -f /home/csmr/usr/man/man1/dspam_train.1                                     
                                                                                
                    
rm -f /home/csmr/usr/man/man3/libdspam.3                                        
                                                                                
                    
ln -s /home/csmr/usr/man/man1/dspam.1 /home/csmr/usr/man/man1/dspam.1           
                                                                                
                    
ln -s /home/csmr/usr/man/man1/dspam_admin.1 
/home/csmr/usr/man/man1/dspam_admin.1                                           
                                                        
ln -s /home/csmr/usr/man/man1/dspam_clean.1 
/home/csmr/usr/man/man1/dspam_clean.1                                           
                                                        
ln -s /home/csmr/usr/man/man1/dspam_crc.1 /home/csmr/usr/man/man1/dspam_crc.1   
                                                                                
                    
ln -s /home/csmr/usr/man/man1/dspam_dump.1 /home/csmr/usr/man/man1/dspam_dump.1 
                                                                                
                    
ln -s /home/csmr/usr/man/man1/dspam_logrotate.1 
/home/csmr/usr/man/man1/dspam_logrotate.1                                       
                                                    
ln -s /home/csmr/usr/man/man1/dspam_merge.1 
/home/csmr/usr/man/man1/dspam_merge.1                                           
                                                        
ln -s /home/csmr/usr/man/man1/dspam_stats.1 
/home/csmr/usr/man/man1/dspam_stats.1                                           
                                                        
ln -s /home/csmr/usr/man/man1/dspam_train.1 
/home/csmr/usr/man/man1/dspam_train.1                                           
                                                        
ln -s /home/csmr/usr/man/man3/libdspam.3 /home/csmr/usr/man/man1/libdspam.3     
                                                                                
                    
make[4]: Leaving directory `/home/csmr/rpmbuild/SOURCES/dspam-3.8.9.orig/man'   
                                                                                
                    
make[3]: Leaving directory `/home/csmr/rpmbuild/SOURCES/dspam-3.8.9.orig/man'   
                                                                                
                    
make[2]: Leaving directory `/home/csmr/rpmbuild/SOURCES/dspam-3.8.9.orig/man'   
                                                                                
                    
make[1]: Leaving directory `/home/csmr/rpmbuild/SOURCES/dspam-3.8.9.orig/man'

Additionally, there seems to be a typo in man/Makefile.am, in the line

ln -s $(mandir)/man3/libdspam.3 $(DESTDIR)$(mandir)/man1/libdspam.3
The link should be created in subdir man3 and not man1, am I right?

Cheers,

Carlo Rodrigues

----------------------------------------------------------------------

>Comment By: Carlo Rodrigues (csmr)
Date: 2009-12-22 12:12

Message:
Hello Stevan. If you read the extract of make install I sent and the
description, you'll see that:

1. Man pages are copied. (This is the desired goal).
2. Then man pages are removed. (No more man pages)
3. Then, broken symbolic links to themselves are created.

Point 2 and 3 happen if you run make install without setting DESTDIR. When
DESTDIR is null, then $mandir == ${DESTDIR}${mandir}.


Until now, symlinks were used only on man3 pages that linked to libdspam.3
(dspam_init, dspam_create, dspam_addattribute, dspam_attach, dspam_process,
dspam_getsource, dspam_detach, dspam_clearattributes, dspam_destroy). If
you removed the entries for these manpages on purpose, there are no need to
create or remove links. If they were removed erroneously, you should
maintain the rm/ln/etc only for those man3 manpages so that the links are
still pointing to libdspam.3. But man1 pages did not have nor need the
links.

What the previous Makefile.am is saying is that it is using two steps, rm
and ln -s, because on solaris ln -sf does not work correctly.

Cheers,

Carlo Rodrigues



----------------------------------------------------------------------

Comment By: Stevan Bajic (sbajic)
Date: 2009-12-21 19:41

Message:
Hallo Carlos,

I just now realize the title of your bug report: "Man pages not working."

The man pages are not working on your CentOS 5? I can't believe that. I
have installed DSPAM on a bunch CentOS boxes and all of them installed the
man pages and they worked. Could you explain what is not working with them
on your setup?

-- 
Kind Regards from Switzerland,

Stevan Bajić

----------------------------------------------------------------------

Comment By: Stevan Bajic (sbajic)
Date: 2009-12-21 19:37

Message:
Hallo Carlos,

> The link should be created in subdir man3 and not man1, am I right?
>
Yes. Fixed in GIT. Thanks for reporting this issue.

Don't ask me why the files are first symlinked and then replaced by their
original. I have seen that a bunch of days ago when I added 3 new manual
pages to DSPAM 3.9.0. The comment in the Makefile is writing something
about failed permissions on some platforms so I did not bother to look at
it more deeper and left it the way it is currently done. Do you see any
issue with that way it is currently done, beside that it takes more time
(symlink, remove, add original file, etc).

-- 
Kind Regards from Switzerland,

Stevan Bajić

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1126467&aid=2918824&group_id=250683

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Dspam-devel mailing list
Dspam-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspam-devel

Reply via email to