chore: import verified syly2 maintenance baseline without embedded credentials

This commit is contained in:
Ethan
2026-10-29 22:22:49 +08:00
commit da8224efd8
5265 changed files with 1199963 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
#!/usr/bin/env python3
"""Apply only the three verified compilation fixes to an isolated source copy."""
import difflib
import hashlib
import json
import os
from pathlib import Path
import re
import sys
os.umask(0o077)
run = Path(sys.argv[1]).resolve()
source = run / 'source'
manifest = json.loads((run / 'source-manifest.json').read_text())
changes = {
'pom.xml': (
b'${java.home}/lib/rt.jar;${java.home}/lib/jce.jar',
b'${java.home}/lib/rt.jar${path.separator}${java.home}/lib/jce.jar',
),
'src/main/java/com/zzc/web/htoal/controller/HotelQuarterStatisticController.java': (
b'import com.sun.org.apache.regexp.internal.recompile;\r\n', b'',
),
'src/main/java/com/zzc/web/travel/controller/InlandStatisticPageController.java': (
b'import com.sun.org.apache.regexp.internal.recompile;\r\n', b'',
),
}
patches = []
for relative, (before, after) in changes.items():
path = source / relative
data = path.read_bytes()
backup = run / 'artifacts/original-build-files' / relative
if hashlib.sha256(data).hexdigest() == manifest[relative]:
assert data.count(before) == 1, relative
if relative.endswith('.java'):
assert len(re.findall(rb'\brecompile\b', data)) == 1, relative
backup.parent.mkdir(parents=True, exist_ok=True)
backup.write_bytes(data)
path.write_bytes(data.replace(before, after, 1))
elif relative == 'pom.xml' and (run / 'artifacts/pom-original.xml').exists():
original = (run / 'artifacts/pom-original.xml').read_bytes()
assert hashlib.sha256(original).hexdigest() == manifest[relative]
assert data == original.replace(before, after, 1)
backup.parent.mkdir(parents=True, exist_ok=True)
backup.write_bytes(original)
else:
assert backup.exists(), 'Unexpected source change: ' + relative
assert hashlib.sha256(backup.read_bytes()).hexdigest() == manifest[relative]
assert data == backup.read_bytes().replace(before, after, 1)
patches.extend(difflib.unified_diff(
backup.read_text().splitlines(keepends=True), path.read_text().splitlines(keepends=True),
fromfile='a/' + relative, tofile='b/' + relative,
))
print('Compatibility fix verified:', relative)
(run / 'artifacts/compatibility.patch').write_text(''.join(patches))