Comments (3)
I make a small test program to see if all the files will be extracted ok:
import tarfile
import os
def ex_all(base_dir):
lf = os.listdir(base_dir)
for i in lf:
full = os.path.join(base_dir, i)
if os.path.isfile(full):
if i.endswith('.zip'):
print('--- Zip file %s ...' % (i, ))
elif i.endswith('.exe'):
print('--- Exe file %s ...' % (i, ))
else:
print(i)
tf = tarfile.open(full)
ext_dir = os.path.join('c:/temp/u', i)
tf.extractall(path = ext_dir)
ex_all('c:/gtk-build/src')
and every file present in my src dir (sometime with multiple versions, for gtk3 I have tarballs for 3.22.5, .6, .7, .8, .9, .11 & .12) it's been correcty extracted without error but probably to handle the --drop conponent of the tar file we need to extract all the single files.
Another thing that is different from the tar utility is that the tar utility overwrite, silently, all the file, even the read only one, while python gives an exception (I found it when I restart the script because I don't test for the .exe extension of nuget).
This should be no problem for us because, if I understand correctly, if the extraction directory exist the unpack part is simply skipped.
This lead me to a note: when we change version of some package (say, gtk3 from 3.22.6 o 3.22.12) to get the update data we need to delete the directory first or pass a --clean option ?
If it's the case we can put a marker file (wingtk-extracted-version.txt or something like this) and check this file to see if we already extracted the tarball and, if the version change, clean up the directory and extract the new one ?
from gvsbuild.
Sorry for the late response, I would say, let's check what jhbuild does on this regard and copy the behavior
from gvsbuild.
Closing this now. Thanks
from gvsbuild.
Related Issues (20)
- Add librsvg to gtk4 dependencies HOT 4
- Error while building Glib HOT 1
- OpenSSL is Shown as Outdated
- 'python3.EXE is not a valid python or it is missing distutils' error when installing PyGObject HOT 7
- Can't run `gvsbuild build gtk4` HOT 2
- It says `pkg-config` is not installed? HOT 1
- Install gvsbuild error HOT 3
- gtk4 build failed HOT 1
- `gvsbuild build libadwaita --enable-gi` does not create Adw*.typelib / Unclear how to build Adw typelib HOT 2
- 2024.2.0 build fails on Windows 10 (runs out of memory) HOT 11
- CERTIFICATE_VERIFY_FAILED on Windows 11 HOT 1
- GTK App crashes with g_atomic_ref_count_dec: assertion 'old_value > 0' failed HOT 2
- nghttp2 update to version 1.60.0 fails
- Building GTK4 fails HOT 4
- Error while building gtk3 HOT 12
- GTK4 build fails HOT 2
- gobject-introspection fails without setuptools on Python 3.12
- Link to binaries HOT 1
- Include patch to fix pango font rendering HOT 7
- Font rendering issues for GTK4 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gvsbuild.