8000 better handling of builds with Flavors · Aikes/winpython@699a1f5 · GitHub
[go: up one dir, main page]

Skip to content

Commit 699a1f5

Browse files
author
stonebig
committed
better handling of builds with Flavors
1 parent 1ec9101 commit 699a1f5

6 files changed

+60
-50
lines changed

diff.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ def from_file(self, basedir):
9191
self.from_text(text)
9292

9393
def from_text(self, text):
94-
version = re.match(self.WINPYTHON_PATTERN, text).groups()[0]
94+
version = re.match(self.WINPYTHON_PATTERN+self.flavor, text).groups()[0]
9595
assert version == self.version
9696
tools_flag = False
9797
python_flag = False
@@ -175,9 +175,11 @@ def compare_package_indexes(version2, version1=None, rootdir=None, flavor=''):
175175
if version1 is None:
176176
version1 = find_closer_version(version2, rootdir=rootdir,
177177
flavor=flavor)
178-
text = '\r\n'.join(["## History of changes for WinPython %s" % version2,
178+
text = '\r\n'.join(["## History of changes for WinPython %s" %
179+
(version2+flavor),
179180
"", "The following changes were made to WinPython "
180-
"distribution since version %s." % version1, "", ""])
181+
"distribution since version %s." % (version1+flavor),
182+
"", ""])
181183
pi1 = PackageIndex(version1, rootdir=rootdir, flavor=flavor)
182184
pi2 = PackageIndex(version2, rootdir=rootdir, flavor=flavor)
183185
tools_text = diff_package_dicts(pi1.other_packages, pi2.other_packages)
@@ -199,10 +201,12 @@ def _copy_all_changelogs(version, basedir, flavor=''):
199201
osp.join(basedir, 'build%s' % flavor, name))
200202

201203

202-
def write_changelog(version2, version1=None, rootdir=None, flavor=''):
204+
def write_changelog(version2, version1=None, rootdir=None, flavor='',
205+
release_level=''):
203206
"""Write changelog between version1 and version2 of WinPython"""
204207
basedir = get_basedir(version2, rootdir=rootdir)
205208
_copy_all_changelogs(version2, basedir, flavor=flavor)
209+
print ('comparing_package_indexes', version2, rootdir, flavor)
206210
text = compare_package_indexes(version2, version1, rootdir=rootdir,
207211
flavor=flavor)
208212
fname = osp.join(basedir, 'build%s' % flavor,
@@ -213,9 +217,9 @@ def write_changelog(version2, version1=None, rootdir=None, flavor=''):
213217
shutil.copyfile(fname, osp.join(CHANGELOGS_DIR, osp.basename(fname)))
214218

215219

216-
def test_parse_package_index_wiki(version, rootdir=None):
220+
def test_parse_package_index_wiki(version, rootdir=None, flavor=''):
217221
"""Parse the package index Wiki page"""
218-
pi = PackageIndex(version, rootdir=rootdir)
222+
pi = PackageIndex(version, rootdir=rootdir, flavor=flavor)
219223
utils.print_box("WinPython %s:" % pi.version)
220224
utils.print_box("Tools:")
221225
for package in pi.other_packages.values():
@@ -232,13 +236,9 @@ def test_compare(basedir, version2, version1):
232236

233237

234238
if __name__ == '__main__':
239+
print (compare_package_indexes('3.4.3.7', None,
240+
rootdir='D:\WinpythonQt5', flavor='Qt5'))
235241
# test_parse_package_index_wiki('2.7.3.3')
236242
# print(compare_package_indexes('2.7.3.3', '2.7.3.1'))
237243
# write_changelog('2.7.4.1', '2.7.4.0')
238-
# write_changelog('2.7.5.0', '2.7.4.1')
239-
write_changelog('3.3.2.1') # , '2.7.5.0')
240-
write_changelog('2.7.5.1') # , '2.7.5.0')
241244
# write_changelog('3.3.0.0beta2', '3.3.0.0beta1')
242-
# write_changelog('3.3.1.1', '3.3.1.0')
243-
# write_changelog('3.3.2.0', '3.3.1.1')
244-
# write_changelog('3.3.2.1', '3.3.2.0')

generate_a_winpython_distro.bat

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ rem set my_root_dir_for_builds=D:\Winpython
88
rem set my_python_target=34
99
rem set my_pyver=3.4
1010
rem set my_release=4
11+
1112
rem set my_release_level=build2
12-
rem set my_flavor=
13+
rem set my_flavor=Qt5
14+
1315
rem set my_arch=32
1416
rem set my_preclear_build_directory=Yes
1517

@@ -28,15 +30,15 @@ set my_time=%my_time: =0%
2830
set my_archive_dir=%~dp0WinPython_build_logs
2931
if not exist %my_archive_dir% mkdir %my_archive_dir%
3032

31-
set my_archive_log=%my_archive_dir%\build_%my_pyver%._.%my_release%_%my_release_level%_of_%my_day%_at_%my_time%.txt
33+
set my_archive_log=%my_archive_dir%\build_%my_pyver%._.%my_release%%my_flavor%_%my_release_level%_of_%my_day%_at_%my_time%.txt
3234

3335

3436
echo ===============
35-
echo preparing winpython for %my_pyver% (%my_python_target%)release %my_release% (%my_release_level%) *** %my_arch% bit ***
37+
echo preparing winpython for %my_pyver% (%my_python_target%)release %my_release%%my_flavor% (%my_release_level%) *** %my_arch% bit ***
3638
echo %date% %time%
3739
echo ===============
3840
echo ===============>>%my_archive_log%
39-
echo preparing winpython for %my_pyver% (%my_python_target%)release %my_release% (%my_release_level%) *** %my_arch% bit ***>>%my_archive_log%
41+
echo preparing winpython for %my_pyver% (%my_python_target%)release %my_release%%my_flavor% (%my_release_level%) *** %my_arch% bit ***>>%my_archive_log%
4042
echo %date% %time%>>%my_archive_log%
4143
echo ===============>>%my_archive_log%
4244

@@ -50,15 +52,17 @@ echo ------------------>>%my_archive_log%
5052

5153
cd /D %my_root_dir_for_builds%\basedir%my_python_target%
5254

55+
set build_det=\%my_flavor%
56+
if "%my_flavor%"=="" set build_det=
5357

54-
dir buil*
55-
echo rmdir /S /Q build ?
58+
dir %build_det%
59+
echo rmdir /S /Q build%my_flavor%
5660
rem pause
57-
rmdir /S /Q build
58-
rmdir /S /Q build
59-
rmdir /S /Q build
60-
rmdir /S /Q build
61-
rmdir /S /Q build
61+
rmdir /S /Q build%my_flavor%
62+
rmdir /S /Q build%my_flavor%
63+
rmdir /S /Q build%my_flavor%
64+
rmdir /S /Q build%my_flavor%
65+
rmdir /S /Q build%my_flavor%
6266
rmdir /S /Q dist
6367

6468
echo %date% %time%

generate_winpython_distros27.bat

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,23 @@ set my_buildenv=D:\WinPython-64bit-3.4.3.3_b0
77
set my_root_dir_for_builds=D:\Winpython
88
set my_python_target=27
99
set my_pyver=2.7
10-
set my_release=3
10+
set my_release=4
11+
12+
13+
set my_release_level=build1
1114
set my_flavor=
1215

16+
1317
set my_arch=64
1418
set my_preclear_build_directory=Yes
1519

1620

1721
set tmp_reqdir=%my_root_dir_for_builds%\basedir%my_python_target%
1822
set my_requirements=%tmp_reqdir%\requirements.txt %tmp_reqdir%\requirements2.txt %tmp_reqdir%\requirements3.txt
1923

20-
set my_find_links=%tmp_reqdir%\packages.srcreq
24+
rem set my_find_links=%tmp_reqdir%\packages.srcreq
25+
set my_find_links=D:\WinPython\basedir34\packages.srcreq
26+
2127

2228
set my_install_options=--no-index --pre --trusted-host=None
2329

generate_winpython_distros34.bat

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ set my_buildenv=D:\WinPython-64bit-3.4.3.3_b0
77
set my_root_dir_for_builds=D:\Winpython
88
set my_python_target=34
99
set my_pyver=3.4
10-
set my_release=6
10+
set my_release=7
11+
12+
set my_release_level=build1
1113
set my_flavor=
1214

1315
set my_arch=64
@@ -17,7 +19,8 @@ set my_preclear_build_directory=Yes
1719
set tmp_reqdir=%my_root_dir_for_builds%\basedir%my_python_target%
1820
set my_requirements=%tmp_reqdir%\requirements.txt %tmp_reqdir%\requirements2.txt %tmp_reqdir%\requirements3.txt
1921

20-
set my_find_links=%tmp_reqdir%\packages.srcreq
22+
rem set my_find_links=%tmp_reqdir%\packages.srcreq
23+
set my_find_links=D:\WinPython\basedir34\packages.srcreq
2124

2225
set my_install_options=--no-index --pre --trusted-host=None
2326

make.py

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ def get_tool_path(relpath, checkfunc):
172172
for pack in sorted(self.installed_packages,
173173
key=lambda p: p.name.lower())]
174174
python_desc = 'Python programming language with standard library'
175-
return """## WinPython %s
175+
return """## WinPython %s
176176
177177
The following packages are included in WinPython v%s%s.
178178
@@ -187,14 +187,15 @@ def get_tool_path(relpath, checkfunc):
187187
Name | Version | Description
188188
-----|---------|------------
189189
[Python](http://www.python.org/) | %s | %s
190-
%s""" % (self.winpyver, self.winpyver, self.flavor, '\n'.join(tools),
190+
%s""" % (self.winpyver2+self.flavor, self.winpyver2+self.flavor,
191+
(' %s' % self.release_level), '\n'.join(tools),
191192
self.python_fullversion, python_desc, '\n'.join(packages))
192193

193194
@property
194195
def winpyver(self):
195-
"""Return WinPython version (with release level!)"""
196-
return '%s.%d%s' % (self.python_fullversion, self.build_number,
197-
self.release_level)
196+
"""Return WinPython version (with flavor and release level!)"""
197+
return '%s.%d%s%s' % (self.python_fullversion, self.build_number,
198+
self.flavor,self.release_level)
198199

199200
@property
200201
def python_dir(self):
@@ -838,17 +839,19 @@ def make(self, remove_existing=True, requirements=None): #, find_links=None):
838839

839840
# Writing package index
840841
self._print("Writing package index")
842+
# winpyver2 = need the version without build part
843+
self.winpyver2 = '%s.%s' % (self.python_fullversion, self.build_number)
841844
fname = osp.join(self.winpydir, os.pardir,
842-
'WinPython%s-%s.txt' % (self.flavor, self.winpyver))
845+
'WinPython%s-%s.txt' % (self.flavor, self.winpyver2))
843846
open(fname, 'w').write(self.package_index_wiki)
844847
# Copy to winpython/changelogs
845848
shutil.copyfile(fname, osp.join(CHANGELOGS_DIR, osp.basename(fname)))
846849
self._print_done()
847850

848851
# Writing changelog
849852
self._print("Writing changelog")
850-
diff.write_changelog(self.winpyver, rootdir=self.rootdir,
851-
flavor=self.flavor)
853+
diff.write_changelog(self.winpyver2, rootdir=self.rootdir,
854+
flavor=self.flavor, release_level=self.release_level)
852855
self._print_done()
853856

854857

@@ -996,12 +999,14 @@ def make_all(build_number, release_level, pyver,
996999
# DO create only one version at a time
9971000
# You may have to manually delete previous build\winpython-.. directory
9981001

999-
#make_all(6, '', pyver='3.4', rootdir=r'D:\WinpythonQt5',
1000-
# verbose=False, archis=(64, ))
1001-
#make_all(1, '', pyver='2.7', rootdir=r'D:\Winpython',
1002-
# verbose=False, archis=(64, ))
1003-
make_all(6, '', pyver='3.4', rootdir=r'D:\Winpython', verbose=True,
1004-
archis=(64, ), flavor='',
1005-
requirements=r'D:\Winpython\basedir34\requirements.txt D:\Winpython\basedir34\requirements2.txt D:\Winpython\basedir34\requirements3.txt',
1002+
#make_all(7, release_level='build1', pyver='3.4', rootdir=r'D:\WinpythonQt5', verbose=True,
1003+
# archis=(64, ), flavor='Qt5',
1004+
# requirements=r'D:\WinpythonQt5\basedir34\requirements.txt D:\WinpythonQt5\basedir34\requirements2.txt D:\WinpythonQt5\basedir34\requirements3.txt',
1005+
# install_options=r'--no-index --pre --trusted-host=None',
1006+
# find_links=r'D:\Winpython\basedir34\packages.srcreq')
1007+
1008+
make_all(7, release_level='build1', pyver='3.4', rootdir=r'D:\WinpythonQt5', verbose=True,
1009+
archis=(64, ), flavor='Qt5',
1010+
requirements=r'D:\WinpythonQt5\basedir34\zerorequirements.txt',
10061011
install_options=r'--no-index --pre --trusted-host=None',
10071012
find_links=r'D:\Winpython\basedir34\packages.srcreq')

winpython/wppm.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -471,14 +471,6 @@ def patch_standard_packages(self, package_name=''):
471471
"'check_updates_on_startup': True,",
472472
"'check_updates_on_startup': False,")
473473

474-
if package_name.lower() == "pyqt5" or package_name == '':
475-
# workaround Qt5.5.0 bug
476-
utils.patch_sourcefile(
477-
self.target + (
478-
r"\Lib\site-packages\PyQt5\examples\qtdemo\demoitemanimation.py"),
479-
".__init__(item, 'pos')",
480-
".__init__(item, b'pos')")
481-
482474
# workaround bad installers
483475
if package_name.lower() == "theano" or package_name == '':
484476
self.create_pybat(['theano-cache', 'theano-nose', 'theano-test'])

0 commit comments

Comments
 (0)
0