/usr/share/xcrysden/Tcl/gengeom.tcl is in xcrysden-data 1.5.53-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83  | #############################################################################
# Author:                                                                   #
# ------                                                                    #
#  Anton Kokalj                                  Email: Tone.Kokalj@ijs.si  #
#  Department of Physical and Organic Chemistry  Phone: x 386 1 477 3523    #
#  Jozef Stefan Institute                          Fax: x 386 1 477 3811    #
#  Jamova 39, SI-1000 Ljubljana                                             #
#  SLOVENIA                                                                 #
#                                                                           #
# Source: $XCRYSDEN_TOPDIR/Tcl/gengeom.tcl                                      #
# ------                                                                    #
# Copyright (c) 1996-2003 by Anton Kokalj                                   #
#############################################################################
proc GetGengM3Arg {mode3 {mode4 {}}} {    
    global geng
    if { $mode3 == "ANGS" } {
	set m31 1
    } elseif { $mode3 == "BOHR" } {
	set m31 2
    }
    if { $mode4 == "95" } {
	set m32 1
    } elseif { $mode4 == "98" || $mode4 == "03" || $mode4 == "06" || $mode4 == "09" } {
	set m32 2
    } else {
	set m32 1
    }
    return ${m31}${m32}
}
proc GenGeom {m1 m2 m3 igroup nx ny nz output} {
    global system xcMisc periodic working_XSF_file
    if { [xcIsActive c95] || [xcIsActive external34] } { 
	# for CRYSTALXX or EXTERNAL34 read from unit 34
	xcDebug -debug "exec $system(BINDIR)/gengeom \
		$m1 $m2 $m3 $igroup $nx $ny $nz $output"	
	xcCatchExecReturn $system(BINDIR)/gengeom $m1 $m2 $m3 $igroup $nx $ny $nz $output
    } elseif [xcIsActive wien] {
	# for WIENXX read from xc_str2xcr.$$
	xcDebug -debug "exec $system(BINDIR)/gengeom \
		$m1 $m2 $m3 $igroup $nx $ny $nz $output \
		$system(SCRDIR)/xc_str2xcr.$system(PID)"
	xcCatchExecReturn $system(BINDIR)/gengeom $m1 $m2 $m3 $igroup \
		$nx $ny $nz $output $system(SCRDIR)/xc_str2xcr.$system(PID)
    } elseif [xcIsActive external] {
	# for EXTERNAL read from $xcMisc(external_xsf_name)
	xcDebug -debug "exec $system(BINDIR)/gengeom \
		$m1 $m2 $m3 $igroup $nx $ny $nz $output \
		$xcMisc(external_xsf_name)"	
	xcCatchExecReturn $system(BINDIR)/gengeom $m1 $m2 $m3 $igroup \
		$nx $ny $nz $output $xcMisc(external_xsf_name)
    } elseif { [info exists working_XSF_file] } {
	# it must be some XSF struct file
	xcDebug -debug "exec $system(BINDIR)/gengeom \
		$m1 $m2 $m3 $igroup $nx $ny $nz $output $working_XSF_file"
	xcCatchExecReturn $system(BINDIR)/gengeom $m1 $m2 $m3 $igroup \
		$nx $ny $nz $output $working_XSF_file
    } else {
	ErrorDialog "don't know what to do in GenGeom (this is a bug)"
	return
    }
    #
    # query dimensionality of the sistem
    #
    set channel [open $output r]
    set dim 0
    while { ! [eof $channel] } {
	set line [gets $channel]
	if { [string match *DIM* $line] } {
	    set dim [lindex [gets $channel] 0]
	    break
	}
    }
    close $channel
    set periodic(dim) $dim
}
 |