Jens Leinenbach wrote: > Hi, > > I compiled SKS 1.1.3. for Debian, but I have a lot of trouble with > directories. > SKS seems to set all the files based on the directory configured in the > basedir variable. > And a basedir of "." didn't work for me. > > So I changed these variables in settings.ml: > > let basedir = ref "/var/lib/sks" > > let base_dbdir = "/var/lib/sks/DB" > let base_ptree_dbdir = "/var/lib/sks/PTree" > let base_membership_file = "/etc/sks/membership" > let base_mailsync_file = "/etc/sks/mailsync" > let base_dumpdir = "/var/lib/sks/dump" > let base_msgdir = "/var/spool/sks/messages" > let base_failed_msgdir = "/var/spool/sks/failed_messages" > > > > let dbdir = lazy ( base_dbdir ) > let ptree_dbdir = lazy ( base_ptree_dbdir ) > let membership_file = lazy ( base_membership_file ) > let mailsync_file = lazy ( base_mailsync_file ) > let dumpdir = lazy ( base_dumpdir ) > let msgdir = lazy ( base_msgdir ) > let failed_msgdir = lazy ( base_failed_msgdir ) > > > But this solves only a part of the directory trouble as I would have to > change other directories in other files, too. > At least for Debian, the logfiles should be in /var/log/sks, sksconf in > /etc/sks, the diff-files should be in /var/spool/sks. > > With the changes of above, all those directories I didn't change are > still in the basedir.... > > What am I doing wrong or are the directory settings really spread all > over those files? > Can't we just move all these directory settings centralized to sksconf > or at least to Makefile.local(.unused)?
Jens, Here's the last Debian source deb I looked at, sks_1.1.1+dpkgv3-7. I believe the main patch you want is 500_debian_fhs_patch. Debian changes locations for most of the SKS files, even names in one or two places. A number of these patches have been rolled up into the mainline code. I would have accepted this patch if it looked for the configuration files, first in basedir, then somewhere like /etc/sks. I've looked at lots of patches. But I quickly pass on those that would break an existing SKS installation -John
--- a/common.ml +++ b/common.ml @@ -82,7 +82,7 @@ let set_logfile extension = if !Settings.filelog then - let fname = (Filename.concat !Settings.basedir extension) ^ ".log" in + let fname = (Filename.concat !Settings.basedir "/var/log/sks/") ^ extension ^ ".log" in stored_logfile_name := Some fname; logfile := open_out_gen [ Open_wronly; Open_creat; Open_append; ] 0o600 fname; @@ -208,8 +208,8 @@ let recon_address = !Settings.recon_address let http_port = !Settings.hkp_port let http_address = !Settings.hkp_address -let db_command_name = Filename.concat !Settings.basedir "db_com_sock" -let recon_command_name = Filename.concat !Settings.basedir "recon_com_sock" +let db_command_name = Filename.concat !Settings.basedir "/var/run/sks/db_com_sock" +let recon_command_name = Filename.concat !Settings.basedir "/var/run/sks/recon_com_sock" let db_command_addr = Unix.ADDR_UNIX db_command_name let recon_command_addr = Unix.ADDR_UNIX recon_command_name --- a/dbserver.ml +++ b/dbserver.ml @@ -364,7 +364,7 @@ let convert_web_fname fname = if verify_web_fname fname then - Filename.concat !Settings.basedir (Filename.concat "web" fname) + Filename.concat !Settings.basedir (Filename.concat "/var/lib/sks/www" fname) else raise (Wserver.Misc_error "Malformed requst") let supported_extensions = --- a/getfileopts.ml +++ b/getfileopts.ml @@ -106,7 +106,7 @@ (**************************************************************) (**************************************************************) -let config_fname = "sksconf" +let config_fname = "/etc/sks/sksconf" let parse args = Arg.current := 0; --- a/reconserver.ml +++ b/reconserver.ml @@ -188,7 +188,7 @@ let elements = ZSet.elements results in let hashes = hashconvert elements in print_hashes (sockaddr_to_string http_addr) hashes; - log_diffs (sprintf "diff-%s.txt" (sockaddr_to_name http_addr)) hashes; + log_diffs (sprintf "/var/spool/sks/diff-%s.txt" (sockaddr_to_name http_addr)) hashes; if List.length elements > 0 then begin @@ -225,7 +225,7 @@ plerror 4 "Reconciliation complete"; let hashes = hashconvert results in print_hashes (sockaddr_to_string http_addr) hashes; - log_diffs (sprintf "diff-%s.txt" (sockaddr_to_name http_addr)) hashes; + log_diffs (sprintf "/var/spool/sks/diff-%s.txt" (sockaddr_to_name http_addr)) hashes; match results with [] -> [] | _ -> --- a/settings.ml +++ b/settings.ml @@ -173,7 +173,7 @@ let command_timeout = ref 60 let set_command_timeout value = command_timeout := value -let sendmail_cmd = ref "sendmail -t -oi" +let sendmail_cmd = ref "/usr/lib/sendmail -t -oi" let set_sendmail_cmd value = sendmail_cmd := value let membership_reload_time = ref (60. *. 60. *. 6.) @@ -197,15 +197,15 @@ from_addr := Some addr; addr -let basedir = ref "." +let basedir = ref "" -let base_dbdir = "KDB" -let base_ptree_dbdir = "PTree" -let base_membership_file = "membership" -let base_mailsync_file = "mailsync" -let base_dumpdir = "dump" -let base_msgdir = "messages" -let base_failed_msgdir = "failed_messages" +let base_dbdir = "/var/lib/sks/DB" +let base_ptree_dbdir = "/var/lib/sks/PTree" +let base_membership_file = "/etc/sks/membership" +let base_mailsync_file = "/etc/sks/mailsync" +let base_dumpdir = "/var/lib/sks/dump" +let base_msgdir = "/var/spool/sks/messages" +let base_failed_msgdir = "/var/spool/sks/failed_messages" let dbdir = lazy (Filename.concat !basedir base_dbdir) let ptree_dbdir = lazy (Filename.concat !basedir base_ptree_dbdir) @@ -252,7 +252,7 @@ ("-hkp_address",Arg.String set_hkp_address, " Set hkp binding address"); ("-use_port_80",Arg.Set use_port_80, " Have the HKP interface listen on port 80, as well as the hkp_port"); - ("-basedir", Arg.Set_string basedir, " Base directory"); + ("-basedir", Arg.Set_string basedir, " Base directory (Take special care if running the Debian package!)"); ("-stdoutlog", Arg.Clear filelog, " Send log messages to stdout instead of log file"); ("-diskptree", Arg.Set disk_ptree,
sks_1.1.1+dpkgv3-7.tar.xz
Description: Binary data
_______________________________________________ Sks-devel mailing list Sks-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/sks-devel