outoftime-sunspot 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. data/History.txt +9 -6
  2. data/README.rdoc +45 -13
  3. data/Rakefile +5 -21
  4. data/VERSION.yml +4 -0
  5. data/bin/sunspot-solr +39 -0
  6. data/lib/sunspot/builder.rb +78 -0
  7. data/lib/sunspot/dsl/fields.rb +39 -0
  8. data/lib/sunspot/dsl/query.rb +32 -0
  9. data/lib/sunspot/dsl/scope.rb +35 -0
  10. data/lib/sunspot/dsl.rb +3 -0
  11. data/lib/sunspot/query.rb +9 -20
  12. data/lib/sunspot/search.rb +8 -25
  13. data/lib/sunspot.rb +2 -3
  14. data/solr/etc/jetty.xml +10 -4
  15. data/solr/solr/conf/{admin-extra.html → elevate.xml} +18 -13
  16. data/solr/solr/conf/solrconfig.xml +369 -67
  17. data/solr/webapps/solr.war +0 -0
  18. data/spec/api/build_search_spec.rb +195 -0
  19. data/spec/api/indexer_spec.rb +112 -0
  20. data/spec/api/search_retrieval_spec.rb +59 -0
  21. data/spec/api/session_spec.rb +44 -0
  22. data/spec/api/spec_helper.rb +1 -0
  23. data/spec/api/standard_search_builder_spec.rb +76 -0
  24. data/{test → spec}/custom_expectation.rb +0 -0
  25. data/{test/integration/test_field_types.rb → spec/integration/field_types_spec.rb} +9 -9
  26. data/{test/integration/test_keyword_search.rb → spec/integration/keyword_search_spec.rb} +5 -5
  27. data/spec/integration/spec_helper.rb +1 -0
  28. data/{test → spec}/integration/test_pagination.rb +5 -5
  29. data/{test → spec}/mocks/base_class.rb +0 -0
  30. data/{test → spec}/mocks/comment.rb +0 -0
  31. data/{test → spec}/mocks/mock_adapter.rb +0 -0
  32. data/{test → spec}/mocks/post.rb +0 -0
  33. data/{test/test_helper.rb → spec/spec_helper.rb} +6 -12
  34. data/tasks/gemspec.rake +18 -0
  35. data/tasks/rcov.rake +27 -5
  36. data/tasks/spec.rake +21 -0
  37. metadata +90 -125
  38. data/Manifest.txt +0 -104
  39. data/PostInstall.txt +0 -7
  40. data/config/hoe.rb +0 -74
  41. data/config/requirements.rb +0 -15
  42. data/lib/sunspot/conditions.rb +0 -50
  43. data/lib/sunspot/conditions_builder.rb +0 -37
  44. data/lib/sunspot/field_builder.rb +0 -37
  45. data/lib/sunspot/query_builder.rb +0 -30
  46. data/lib/sunspot/scope_builder.rb +0 -33
  47. data/lib/sunspot/version.rb +0 -10
  48. data/setup.rb +0 -1585
  49. data/solr/README.txt +0 -36
  50. data/solr/exampledocs/books.csv +0 -11
  51. data/solr/exampledocs/hd.xml +0 -46
  52. data/solr/exampledocs/ipod_other.xml +0 -50
  53. data/solr/exampledocs/ipod_video.xml +0 -35
  54. data/solr/exampledocs/mem.xml +0 -58
  55. data/solr/exampledocs/monitor.xml +0 -31
  56. data/solr/exampledocs/monitor2.xml +0 -30
  57. data/solr/exampledocs/mp500.xml +0 -39
  58. data/solr/exampledocs/post.jar +0 -0
  59. data/solr/exampledocs/post.sh +0 -28
  60. data/solr/exampledocs/sd500.xml +0 -33
  61. data/solr/exampledocs/solr.xml +0 -38
  62. data/solr/exampledocs/spellchecker.xml +0 -58
  63. data/solr/exampledocs/utf8-example.xml +0 -42
  64. data/solr/exampledocs/vidcard.xml +0 -52
  65. data/solr/solr/README.txt +0 -52
  66. data/solr/solr/bin/abc +0 -176
  67. data/solr/solr/bin/abo +0 -176
  68. data/solr/solr/bin/backup +0 -108
  69. data/solr/solr/bin/backupcleaner +0 -142
  70. data/solr/solr/bin/commit +0 -128
  71. data/solr/solr/bin/optimize +0 -129
  72. data/solr/solr/bin/readercycle +0 -129
  73. data/solr/solr/bin/rsyncd-disable +0 -77
  74. data/solr/solr/bin/rsyncd-enable +0 -76
  75. data/solr/solr/bin/rsyncd-start +0 -145
  76. data/solr/solr/bin/rsyncd-stop +0 -105
  77. data/solr/solr/bin/scripts-util +0 -83
  78. data/solr/solr/bin/snapcleaner +0 -148
  79. data/solr/solr/bin/snapinstaller +0 -168
  80. data/solr/solr/bin/snappuller +0 -248
  81. data/solr/solr/bin/snappuller-disable +0 -77
  82. data/solr/solr/bin/snappuller-enable +0 -77
  83. data/solr/solr/bin/snapshooter +0 -109
  84. data/solr/solr/conf/scripts.conf +0 -24
  85. data/tasks/deployment.rake +0 -34
  86. data/tasks/environment.rake +0 -7
  87. data/tasks/solr.rake +0 -12
  88. data/tasks/website.rake +0 -17
  89. data/test/api/test_build_search.rb +0 -216
  90. data/test/api/test_helper.rb +0 -4
  91. data/test/api/test_indexer.rb +0 -110
  92. data/test/api/test_retrieve_search.rb +0 -114
  93. data/test/api/test_session.rb +0 -46
  94. data/test/integration/test_helper.rb +0 -1
data/solr/solr/bin/commit DELETED
@@ -1,128 +0,0 @@
1
- #!/bin/bash
2
- #
3
- # Licensed to the Apache Software Foundation (ASF) under one or more
4
- # contributor license agreements. See the NOTICE file distributed with
5
- # this work for additional information regarding copyright ownership.
6
- # The ASF licenses this file to You under the Apache License, Version 2.0
7
- # (the "License"); you may not use this file except in compliance with
8
- # the License. You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Shell script to force a commit of all changes since last commit
19
- # for a Solr server
20
-
21
- orig_dir=$(pwd)
22
- cd ${0%/*}/..
23
- solr_root=$(pwd)
24
- cd ${orig_dir}
25
- curl_url=""
26
-
27
- unset solr_hostname solr_port webapp_name user verbose debug solr_url
28
- . ${solr_root}/bin/scripts-util
29
-
30
- # set up variables
31
- prog=${0##*/}
32
- log=${solr_root}/logs/${prog}.log
33
-
34
- # define usage string
35
- USAGE="\
36
- usage: $prog [-h hostname] [-p port] [-w webapp_name] [-u username] [-U url] [-v] [-V]
37
- -h specify Solr hostname (defaults to localhost)
38
- -p specify Solr port number
39
- -w specify name of Solr webapp (defaults to solr)
40
- -u specify user to sudo to before running script
41
- -U specify full update url (overrides -h,-p,-w parameters)
42
- -v increase verbosity
43
- -V output debugging info
44
- "
45
-
46
- # parse args
47
- while getopts h:p:w:u:U:vV OPTION
48
- do
49
- case $OPTION in
50
- h)
51
- solr_hostname="$OPTARG"
52
- ;;
53
- p)
54
- solr_port="$OPTARG"
55
- ;;
56
- w)
57
- webapp_name="$OPTARG"
58
- ;;
59
- u)
60
- user="$OPTARG"
61
- ;;
62
- U)
63
- solr_url="$OPTARG"
64
- ;;
65
- v)
66
- verbose="v"
67
- ;;
68
- V)
69
- debug="V"
70
- ;;
71
- *)
72
- echo "$USAGE"
73
- exit 1
74
- esac
75
- done
76
-
77
- [[ -n $debug ]] && set -x
78
-
79
- if [[ -n ${solr_url} ]]
80
- then
81
- curl_url=${solr_url}
82
- else
83
- if [[ -z ${solr_port} ]]
84
- then
85
- echo "Solr port number missing in $confFile or command line."
86
- echo "$USAGE"
87
- exit 1
88
- fi
89
-
90
- # use default hostname if not specified
91
- if [[ -z ${solr_hostname} ]]
92
- then
93
- solr_hostname=localhost
94
- fi
95
-
96
- # use default webapp name if not specified
97
- if [[ -z ${webapp_name} ]]
98
- then
99
- webapp_name=solr
100
- fi
101
- curl_url=http://${solr_hostname}:${solr_port}/${webapp_name}/update
102
- fi
103
-
104
- fixUser "$@"
105
-
106
- start=`date +"%s"`
107
-
108
- logMessage started by $oldwhoami
109
- logMessage command: $0 $@
110
-
111
- rs=`curl ${curl_url} -s -H 'Content-type:text/xml; charset=utf-8' -d "<commit/>"`
112
- if [[ $? != 0 ]]
113
- then
114
- logMessage failed to connect to Solr server at ${curl_url}
115
- logMessage commit failed
116
- logExit failed 1
117
- fi
118
-
119
- # check status of commit request
120
- echo $rs | grep '<result.*status="0"' > /dev/null 2>&1
121
- if [[ $? != 0 ]]
122
- then
123
- logMessage commit request to Solr at ${curl_url} failed:
124
- logMessage $rs
125
- logExit failed 2
126
- fi
127
-
128
- logExit ended 0
@@ -1,129 +0,0 @@
1
- #!/bin/bash
2
- #
3
- # Licensed to the Apache Software Foundation (ASF) under one or more
4
- # contributor license agreements. See the NOTICE file distributed with
5
- # this work for additional information regarding copyright ownership.
6
- # The ASF licenses this file to You under the Apache License, Version 2.0
7
- # (the "License"); you may not use this file except in compliance with
8
- # the License. You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Shell script to force a optimized commit of all changes since last commit
19
- # for a Solr server
20
-
21
- orig_dir=$(pwd)
22
- cd ${0%/*}/..
23
- solr_root=$(pwd)
24
- cd ${orig_dir}
25
- curl_url=""
26
-
27
- unset solr_hostname solr_port webapp_name user verbose debug solr_url
28
- . ${solr_root}/bin/scripts-util
29
-
30
- # set up variables
31
- prog=${0##*/}
32
- log=${solr_root}/logs/${prog}.log
33
-
34
- # define usage string
35
- USAGE="\
36
- usage: $prog [-h hostname] [-p port] [-u username] [-U url] [-v] [-V]
37
- -h specify Solr hostname (defaults to localhost)
38
- -p specify Solr port number
39
- -w specify name of Solr webapp (defaults to solr)
40
- -u specify user to sudo to before running script
41
- -U specify full update url (overrides -h,-p,-w parameters)
42
- -v increase verbosity
43
- -V output debugging info
44
- "
45
-
46
- # parse args
47
- originalargs="$@"
48
- while getopts h:p:w:u:U:vV OPTION
49
- do
50
- case $OPTION in
51
- h)
52
- solr_hostname="$OPTARG"
53
- ;;
54
- p)
55
- solr_port="$OPTARG"
56
- ;;
57
- w)
58
- webapp_name="$OPTARG"
59
- ;;
60
- u)
61
- user="$OPTARG"
62
- ;;
63
- U)
64
- solr_url="$OPTARG"
65
- ;;
66
- v)
67
- verbose="v"
68
- ;;
69
- V)
70
- debug="V"
71
- ;;
72
- *)
73
- echo "$USAGE"
74
- exit 1
75
- esac
76
- done
77
-
78
- [[ -n $debug ]] && set -x
79
-
80
- if [[ -n ${solr_url} ]]
81
- then
82
- curl_url=${solr_url}
83
- else
84
- if [[ -z ${solr_port} ]]
85
- then
86
- echo "Solr port number missing in $confFile or command line."
87
- echo "$USAGE"
88
- exit 1
89
- fi
90
-
91
- # use default hostname if not specified
92
- if [[ -z ${solr_hostname} ]]
93
- then
94
- solr_hostname=localhost
95
- fi
96
-
97
- # use default webapp name if not specified
98
- if [[ -z ${webapp_name} ]]
99
- then
100
- webapp_name=solr
101
- fi
102
- curl_url=http://${solr_hostname}:${solr_port}/${webapp_name}/update
103
- fi
104
-
105
- fixUser "$@"
106
-
107
- start=`date +"%s"`
108
-
109
- logMessage started by $oldwhoami
110
- logMessage command: $0 $@
111
-
112
- rs=`curl ${curl_url} -s -H 'Content-type:text/xml; charset=utf-8' -d "<optimize/>"`
113
- if [[ $? != 0 ]]
114
- then
115
- logMessage failed to connect to Solr server at ${curl_url}
116
- logMessage optimize failed
117
- logExit failed 1
118
- fi
119
-
120
- # check status of optimize request
121
- rc=`echo $rs|cut -f2 -d'"'`
122
- if [[ $? != 0 ]]
123
- then
124
- logMessage optimize request to Solr at ${curl_url} failed:
125
- logMessage $rs
126
- logExit failed 2
127
- fi
128
-
129
- logExit ended 0
@@ -1,129 +0,0 @@
1
- #!/bin/bash
2
- #
3
- # Licensed to the Apache Software Foundation (ASF) under one or more
4
- # contributor license agreements. See the NOTICE file distributed with
5
- # this work for additional information regarding copyright ownership.
6
- # The ASF licenses this file to You under the Apache License, Version 2.0
7
- # (the "License"); you may not use this file except in compliance with
8
- # the License. You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Shell script to force all old readers closed and a new reader to be opened
19
- # for a Solr server
20
-
21
- orig_dir=$(pwd)
22
- cd ${0%/*}/..
23
- solr_root=$(pwd)
24
- cd ${orig_dir}
25
- curl_url=""
26
-
27
- unset solr_hostname solr_port webapp_name user verbose debug solr_url
28
- . ${solr_root}/bin/scripts-util
29
-
30
- # set up variables
31
- prog=${0##*/}
32
- log=${solr_root}/logs/${prog}.log
33
-
34
- # define usage string
35
- USAGE="\
36
- usage: $prog [-p hostname] [-p port] [-w webapp_name] [-u username] [-U url] [-v] [-V]
37
- -h specify Solr hostname (defaults to localhost)
38
- -p specify Solr port number
39
- -w specify name of Solr webapp (defaults to solr)
40
- -u specify user to sudo to before running script
41
- -U specify full update url (overrides -h,-p,-w parameters)
42
- -v increase verbosity
43
- -V output debugging info
44
- "
45
-
46
- # parse args
47
- originalargs="$@"
48
- while getopts h:p:w:u:U:vV OPTION
49
- do
50
- case $OPTION in
51
- h)
52
- solr_hostname="$OPTARG"
53
- ;;
54
- p)
55
- solr_port="$OPTARG"
56
- ;;
57
- w)
58
- webapp_name="$OPTARG"
59
- ;;
60
- u)
61
- user="$OPTARG"
62
- ;;
63
- U)
64
- solr_url="$OPTARG"
65
- ;;
66
- v)
67
- verbose="v"
68
- ;;
69
- V)
70
- debug="V"
71
- ;;
72
- *)
73
- echo "$USAGE"
74
- exit 1
75
- esac
76
- done
77
-
78
- [[ -n $debug ]] && set -x
79
-
80
- if [[ -n ${solr_url} ]]
81
- then
82
- curl_url=${solr_url}
83
- else
84
- if [[ -z ${solr_port} ]]
85
- then
86
- echo "Solr port number missing in $confFile or command line."
87
- echo "$USAGE"
88
- exit 1
89
- fi
90
-
91
- # use default hostname if not specified
92
- if [[ -z ${solr_hostname} ]]
93
- then
94
- solr_hostname=localhost
95
- fi
96
-
97
- # use default webapp name if not specified
98
- if [[ -z ${webapp_name} ]]
99
- then
100
- webapp_name=solr
101
- fi
102
- curl_url=http://${solr_hostname}:${solr_port}/${webapp_name}/update
103
- fi
104
-
105
- fixUser "$@"
106
-
107
- start=`date +"%s"`
108
-
109
- logMessage started by $oldwhoami
110
- logMessage command: $0 $@
111
-
112
- rs=`curl ${curl_url} -s -H 'Content-type:text/xml; charset=utf-8' -d "<commit/>"`
113
- if [[ $? != 0 ]]
114
- then
115
- logMessage failed to connect to Solr server at ${curl_url}
116
- logMessage reader cycle failed
117
- logExit failed 1
118
- fi
119
-
120
- # check status of commit request
121
- echo $rs | grep '<response.*status="0"' > /dev/null 2>&1
122
- if [[ $? != 0 ]]
123
- then
124
- logMessage reader cycle request to Solr at ${curl_url} failed:
125
- logMessage $rs
126
- logExit failed 2
127
- fi
128
-
129
- logExit ended 0
@@ -1,77 +0,0 @@
1
- #!/bin/bash
2
- #
3
- # Licensed to the Apache Software Foundation (ASF) under one or more
4
- # contributor license agreements. See the NOTICE file distributed with
5
- # this work for additional information regarding copyright ownership.
6
- # The ASF licenses this file to You under the Apache License, Version 2.0
7
- # (the "License"); you may not use this file except in compliance with
8
- # the License. You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Shell script to disable rsyncd
19
-
20
- orig_dir=$(pwd)
21
- cd ${0%/*}/..
22
- solr_root=$(pwd)
23
- cd ${orig_dir}
24
-
25
- unset user verbose debug
26
- . ${solr_root}/bin/scripts-util
27
-
28
- # set up variables
29
- prog=${0##*/}
30
- log=${solr_root}/logs/rsyncd.log
31
-
32
- # define usage string
33
- USAGE="\
34
- usage: $prog [-u username] [-v]
35
- -u specify user to sudo to before running script
36
- -v increase verbosity
37
- -V output debugging info
38
- "
39
-
40
- # parse args
41
- while getopts u:vV OPTION
42
- do
43
- case $OPTION in
44
- u)
45
- user="$OPTARG"
46
- ;;
47
- v)
48
- verbose="v"
49
- ;;
50
- V)
51
- debug="V"
52
- ;;
53
- *)
54
- echo "$USAGE"
55
- exit 1
56
- esac
57
- done
58
-
59
- [[ -n $debug ]] && set -x
60
-
61
- fixUser "$@"
62
-
63
- start=`date +"%s"`
64
-
65
- logMessage disabled by $oldwhoami
66
- logMessage command: $0 $@
67
- name=${solr_root}/logs/rsyncd-enabled
68
-
69
- if [[ -f ${name} ]]
70
- then
71
- rm -f ${name}
72
- else
73
- logMessage rsyncd not currently enabled
74
- logExit exited 1
75
- fi
76
-
77
- logExit ended 0
@@ -1,76 +0,0 @@
1
- #!/bin/bash
2
- #
3
- # Licensed to the Apache Software Foundation (ASF) under one or more
4
- # contributor license agreements. See the NOTICE file distributed with
5
- # this work for additional information regarding copyright ownership.
6
- # The ASF licenses this file to You under the Apache License, Version 2.0
7
- # (the "License"); you may not use this file except in compliance with
8
- # the License. You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Shell script to enable rsyncd
19
-
20
- orig_dir=$(pwd)
21
- cd ${0%/*}/..
22
- solr_root=$(pwd)
23
- cd ${orig_dir}
24
-
25
- unset user verbose debug
26
- . ${solr_root}/bin/scripts-util
27
-
28
- # set up variables
29
- log=${solr_root}/logs/rsyncd.log
30
-
31
- # define usage string
32
- USAGE="\
33
- usage: $prog [-u username] [-v]
34
- -u specify user to sudo to before running script
35
- -v increase verbosity
36
- -V output debugging info
37
- "
38
-
39
- # parse args
40
- while getopts u:vV OPTION
41
- do
42
- case $OPTION in
43
- u)
44
- user="$OPTARG"
45
- ;;
46
- v)
47
- verbose="v"
48
- ;;
49
- V)
50
- debug="V"
51
- ;;
52
- *)
53
- echo "$USAGE"
54
- exit 1
55
- esac
56
- done
57
-
58
- [[ -n $debug ]] && set -x
59
-
60
- fixUser "$@"
61
-
62
- start=`date +"%s"`
63
-
64
- logMessage enabled by $oldwhoami
65
- logMessage command: $0 $@
66
- name=${solr_root}/logs/rsyncd-enabled
67
-
68
- if [[ -f ${name} ]]
69
- then
70
- logMessage rsyncd already currently enabled
71
- logExit exited 1
72
- else
73
- touch ${name}
74
- fi
75
-
76
- logExit ended 0
@@ -1,145 +0,0 @@
1
- #!/bin/bash
2
- #
3
- # Licensed to the Apache Software Foundation (ASF) under one or more
4
- # contributor license agreements. See the NOTICE file distributed with
5
- # this work for additional information regarding copyright ownership.
6
- # The ASF licenses this file to You under the Apache License, Version 2.0
7
- # (the "License"); you may not use this file except in compliance with
8
- # the License. You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # Shell script to start rsyncd on master Solr server
19
-
20
- orig_dir=$(pwd)
21
- cd ${0%/*}/..
22
- solr_root=$(pwd)
23
- cd ${orig_dir}
24
-
25
- unset data_dir solr_port rsyncd_port user verbose debug
26
- . ${solr_root}/bin/scripts-util
27
-
28
- # set up variables
29
- prog=${0##*/}
30
- log=${solr_root}/logs/rsyncd.log
31
-
32
- # define usage string
33
- USAGE="\
34
- usage: $prog [-d dir] [-p portnum] [-u username] [-v]
35
- -d specify directory holding index data
36
- -p specify rsyncd port number
37
- -u specify user to sudo to before running script
38
- -v increase verbosity
39
- -V output debugging info
40
- "
41
-
42
- # parse args
43
- while getopts d:p:u:vV OPTION
44
- do
45
- case $OPTION in
46
- d)
47
- data_dir="$OPTARG"
48
- ;;
49
- p)
50
- rsyncd_port="$OPTARG"
51
- ;;
52
- u)
53
- user="$OPTARG"
54
- ;;
55
- v)
56
- verbose="v"
57
- ;;
58
- V)
59
- debug="V"
60
- ;;
61
- *)
62
- echo "$USAGE"
63
- exit 1
64
- esac
65
- done
66
-
67
- [[ -n $debug ]] && set -x
68
-
69
- fixUser "$@"
70
-
71
- # try to determine rsyncd port number from $confFile if not specified on
72
- # command line, default to solr_port+10000
73
- if [[ -z ${rsyncd_port} ]]
74
- then
75
- if [[ "${solr_port}" ]]
76
- then
77
- rsyncd_port=`expr 10000 + ${solr_port}`
78
- else
79
- echo "rsyncd port number missing in $confFile or command line."
80
- echo "$USAGE"
81
- exit 1
82
- fi
83
- fi
84
-
85
- # use default value for data_dir if not specified
86
- # relative path starts at ${solr_root}
87
- if [[ -z ${data_dir} ]]
88
- then
89
- data_dir=${solr_root}/data
90
- elif [[ "`echo ${data_dir}|cut -c1`" != "/" ]]
91
- then
92
- data_dir=${solr_root}/${data_dir}
93
- fi
94
-
95
- logMessage started by $oldwhoami
96
- logMessage command: $0 $@
97
-
98
- if [[ ! -f ${solr_root}/logs/rsyncd-enabled ]]
99
- then
100
- logMessage rsyncd disabled
101
- exit 1
102
- fi
103
-
104
- if \
105
- rsync rsync://localhost:${rsyncd_port} >/dev/null 2>&1
106
- then
107
- logMessage "rsyncd already running at port ${rsyncd_port}"
108
- exit 1
109
- fi
110
-
111
- # create conf/rsyncd.conf on the fly, creating solrlogs directory if needed
112
- if [[ ! -d ${solr_root}/conf ]]
113
- then
114
- mkdir ${solr_root}/conf
115
- fi
116
- cat <<EOF > ${solr_root}/conf/rsyncd.conf
117
- #### rsyncd.conf file ####
118
-
119
- uid = $(whoami)
120
- gid = $(whoami)
121
- use chroot = no
122
- list = no
123
- pid file = ${solr_root}/logs/rsyncd.pid
124
- log file = ${solr_root}/logs/rsyncd.log
125
- [solr]
126
- path = ${data_dir}
127
- comment = Solr
128
- EOF
129
-
130
- rsync --daemon --port=${rsyncd_port} --config=${solr_root}/conf/rsyncd.conf
131
-
132
- # first make sure rsyncd is accepting connections
133
- i=1
134
- while \
135
- ! rsync rsync://localhost:${rsyncd_port} >/dev/null 2>&1
136
- do
137
- if (( i++ > 15 ))
138
- then
139
- logMessage "rsyncd not accepting connections, exiting" >&2
140
- exit 2
141
- fi
142
- sleep 1
143
- done
144
-
145
- logMessage rsyncd started with data_dir=${data_dir} and accepting requests