Skip to content

Commit 28e1695

Browse files
oulenzsrowen
authored andcommitted
[SPARK-26803][PYTHON] Add sbin subdirectory to pyspark
## What changes were proposed in this pull request? Modifies `setup.py` so that `sbin` subdirectory is included in pyspark ## How was this patch tested? Manually tested with python 2.7 and python 3.7 ```sh $ ./build/mvn -D skipTests -P hive -P hive-thriftserver -P yarn -P mesos clean package $ cd python $ python setup.py sdist $ pip install dist/pyspark-2.1.0.dev0.tar.gz ``` Checked manually that `sbin` is now present in install directory. srowen holdenk Closes #23715 from oulenz/pyspark_sbin. Authored-by: Oliver Urs Lenz <oliver.urs.lenz@gmail.com> Signed-off-by: Sean Owen <sean.owen@databricks.com>
1 parent 7912dbb commit 28e1695

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

python/MANIFEST.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
global-exclude *.py[cod] __pycache__ .DS_Store
1818
recursive-include deps/jars *.jar
1919
graft deps/bin
20+
recursive-include deps/sbin spark-config.sh spark-daemon.sh start-history-server.sh stop-history-server.sh
2021
recursive-include deps/data *.data *.txt
2122
recursive-include deps/licenses *.txt
2223
recursive-include deps/examples *.py

python/setup.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,12 @@
6969

7070
EXAMPLES_PATH = os.path.join(SPARK_HOME, "examples/src/main/python")
7171
SCRIPTS_PATH = os.path.join(SPARK_HOME, "bin")
72+
USER_SCRIPTS_PATH = os.path.join(SPARK_HOME, "sbin")
7273
DATA_PATH = os.path.join(SPARK_HOME, "data")
7374
LICENSES_PATH = os.path.join(SPARK_HOME, "licenses")
7475

7576
SCRIPTS_TARGET = os.path.join(TEMP_PATH, "bin")
77+
USER_SCRIPTS_TARGET = os.path.join(TEMP_PATH, "sbin")
7678
JARS_TARGET = os.path.join(TEMP_PATH, "jars")
7779
EXAMPLES_TARGET = os.path.join(TEMP_PATH, "examples")
7880
DATA_TARGET = os.path.join(TEMP_PATH, "data")
@@ -122,13 +124,15 @@ def _supports_symlinks():
122124
if _supports_symlinks():
123125
os.symlink(JARS_PATH, JARS_TARGET)
124126
os.symlink(SCRIPTS_PATH, SCRIPTS_TARGET)
127+
os.symlink(USER_SCRIPTS_PATH, USER_SCRIPTS_TARGET)
125128
os.symlink(EXAMPLES_PATH, EXAMPLES_TARGET)
126129
os.symlink(DATA_PATH, DATA_TARGET)
127130
os.symlink(LICENSES_PATH, LICENSES_TARGET)
128131
else:
129132
# For windows fall back to the slower copytree
130133
copytree(JARS_PATH, JARS_TARGET)
131134
copytree(SCRIPTS_PATH, SCRIPTS_TARGET)
135+
copytree(USER_SCRIPTS_PATH, USER_SCRIPTS_TARGET)
132136
copytree(EXAMPLES_PATH, EXAMPLES_TARGET)
133137
copytree(DATA_PATH, DATA_TARGET)
134138
copytree(LICENSES_PATH, LICENSES_TARGET)
@@ -177,6 +181,7 @@ def _supports_symlinks():
177181
'pyspark.sql',
178182
'pyspark.streaming',
179183
'pyspark.bin',
184+
'pyspark.sbin',
180185
'pyspark.jars',
181186
'pyspark.python.pyspark',
182187
'pyspark.python.lib',
@@ -187,6 +192,7 @@ def _supports_symlinks():
187192
package_dir={
188193
'pyspark.jars': 'deps/jars',
189194
'pyspark.bin': 'deps/bin',
195+
'pyspark.sbin': 'deps/sbin',
190196
'pyspark.python.lib': 'lib',
191197
'pyspark.data': 'deps/data',
192198
'pyspark.licenses': 'deps/licenses',
@@ -195,6 +201,9 @@ def _supports_symlinks():
195201
package_data={
196202
'pyspark.jars': ['*.jar'],
197203
'pyspark.bin': ['*'],
204+
'pyspark.sbin': ['spark-config.sh', 'spark-daemon.sh',
205+
'start-history-server.sh',
206+
'stop-history-server.sh', ],
198207
'pyspark.python.lib': ['*.zip'],
199208
'pyspark.data': ['*.txt', '*.data'],
200209
'pyspark.licenses': ['*.txt'],
@@ -231,12 +240,14 @@ def _supports_symlinks():
231240
if _supports_symlinks():
232241
os.remove(os.path.join(TEMP_PATH, "jars"))
233242
os.remove(os.path.join(TEMP_PATH, "bin"))
243+
os.remove(os.path.join(TEMP_PATH, "sbin"))
234244
os.remove(os.path.join(TEMP_PATH, "examples"))
235245
os.remove(os.path.join(TEMP_PATH, "data"))
236246
os.remove(os.path.join(TEMP_PATH, "licenses"))
237247
else:
238248
rmtree(os.path.join(TEMP_PATH, "jars"))
239249
rmtree(os.path.join(TEMP_PATH, "bin"))
250+
rmtree(os.path.join(TEMP_PATH, "sbin"))
240251
rmtree(os.path.join(TEMP_PATH, "examples"))
241252
rmtree(os.path.join(TEMP_PATH, "data"))
242253
rmtree(os.path.join(TEMP_PATH, "licenses"))

0 commit comments

Comments
 (0)