File tree Expand file tree Collapse file tree
node/flatpak_node_generator Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1111import time
1212
1313_SANITIZE_RE = re .compile (r'[\\/:*?"<>|]' )
14+ _MAX_LENGTH_WITHOUT_HASH = 120
1415
1516
1617def populate_store (manifest_path : str , tarball_dir : str , store_dir : str ) -> None :
@@ -133,7 +134,9 @@ def _process_tarball(
133134 with open (url_idx_path , 'w' , encoding = 'utf-8' ) as out :
134135 json .dump (index_data , out )
135136 else :
136- url_dir_name = re .sub (r'[:/]' , '+' , tarball_url )
137+ url_dir_name = re .sub (r"[:/]" , "+" , tarball_url )
138+ if len (url_dir_name ) > _MAX_LENGTH_WITHOUT_HASH :
139+ url_dir_name = f"{ url_dir_name [: _MAX_LENGTH_WITHOUT_HASH - 33 ]} _{ hashlib .sha256 (url_dir_name .encode ()).hexdigest ()[:32 ]} "
137140 url_idx_dir = os .path .join (store , url_dir_name )
138141 os .makedirs (url_idx_dir , exist_ok = True )
139142 url_idx_path = os .path .join (url_idx_dir , 'integrity.json' )
You can’t perform that action at this time.
0 commit comments