-
-
Notifications
You must be signed in to change notification settings - Fork 480
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Don't ask for verbose output from tar when installing packages #10040
Comments
comment:1
Are there good reasons to keep the verbose non-error output? Smaller logs would also help with #3524. |
comment:2
I think Leif said the verbose output could be useful to find packages which have unnecessary files in them. But personally I think that issue should be resolved when packages are reviewed. I've not objections to adding an environment variable to control it, but it's more work than a one-character patch! As you say, it would also help with buildbot too. Dave |
This comment has been minimized.
This comment has been minimized.
comment:3
Replying to @sagetrac-drkirkby:
That was meant a joke. (I don't expect people to read the full, nearly 300,000-lines
Of course. Unfortunately it's unlikely people look into the Mercurial repository for deleted files. (Ok, you can see them when verbosely unpacking an spkg manually, or do
Obviously, but shouldn't carry much more of a danger. |
comment:4
Perhaps (on another ticket) we should also address the almost useless "copying ..." messages that afaik originate from distutils. These make up another fair amount of the logs. |
comment:5
Are you two happy with just removing the 'v', and not bothering with an environment variable? I certainly am. If so, let's create a patch. Anything to cut down the log size is a good thing, so feel free to create a ticket for this other issue. Dave |
Apply to Sage scripts repository. Based on Sage 4.6.rc0pre1. |
comment:6
Attachment: trac_10040-untar_non-verbosely_by_default-sage_scripts.patch.gz I've attached a patch to |
Author: Leif Leonhardy |
comment:7
Btw, #9799 is also related (in case of build errors), since without that running (Build errors do not always cause failures in building the documentation, so it might look as if the whole build succeeded, which probably William meant by "leading to all kinds of confusion".) |
comment:8
Replying to @nexttime:
leif@quadriga:~/Sage/sage-4.6.rc0pre1$ grep "^copying" install.log | wc -lc
65512 11147892 (That's more than 34% of the log file size.) Maybe it's setuptools, not distutils; I don't know yet. |
comment:9
More detailed: leif@quadriga:~/Sage/sage-4.6.rc0pre1$ grep -c "^copying" spkg/logs/* | awk 'BEGIN { FS=":" } { if ($2!=0) printf "%5d %s\n", $2, $1 }' | sort -rn
43543 spkg/logs/moin-1.9.1.p1.log
8419 spkg/logs/sagenb-0.8.7.log
2702 spkg/logs/sage-4.6.rc0pre1.log
2142 spkg/logs/matplotlib-1.0.0.log
1797 spkg/logs/twisted-9.0.p2.log
1096 spkg/logs/scipy-0.7.p5.log
773 spkg/logs/sympy-0.6.4.p0.log
661 spkg/logs/ipython-0.9.1.p0.log
620 spkg/logs/numpy-1.3.0.p4.log
429 spkg/logs/zodb3-3.7.0.p4.log
388 spkg/logs/mercurial-1.3.1.p2.log
367 spkg/logs/scons-1.2.0.log
363 spkg/logs/networkx-1.2.p1.log
349 spkg/logs/cython-0.13.p1.log
307 spkg/logs/sphinx-0.6.3.p4.log
292 spkg/logs/weave-0.4.9.p0.log
260 spkg/logs/docutils-0.5.p0.log
183 spkg/logs/pycrypto-2.1.0.log
169 spkg/logs/pil-1.1.6.p2.log
157 spkg/logs/sqlalchemy-0.5.8.log
154 spkg/logs/mpmath-0.15.log
122 spkg/logs/pygments-0.11.1.p0.log
76 spkg/logs/setuptools-0.6c9.p0.log
69 spkg/logs/python-2.6.4.p9.log
68 spkg/logs/rpy2-2.0.8.log
68 spkg/logs/r-2.10.1.p4.log
65 spkg/logs/jinja2-2.1.1.p0.log
27 spkg/logs/python_gnutls-1.1.4.p7.log
22 spkg/logs/scipy_sandbox-20071020.p7.log
21 spkg/logs/cvxopt-0.9.p9.log
15 spkg/logs/sagetex-2.2.5.log
3 spkg/logs/gdmodule-0.56.p7.log
2 spkg/logs/pexpect-2.0.p4.log
1 spkg/logs/gsl-1.14.log So it's perhaps more worth addressing that in those spkgs that produce a huge number of such lines. There's a "verbose" option to distutils' |
comment:10
Oh, the "copying ..." messages appear to be a distutils bug; If I change it to the following: ...
if verbose: # added just this line
if os.path.basename(dst) == os.path.basename(src):
log.info("%s %s -> %s", action, src, dir)
else:
log.info("%s %s -> %s", action, src, dst)
... the "copying ..." messages vanish at least for mpmath (I only tried that so far). Opinions? (before I open a ticket for that) |
comment:11
Replying to @nexttime:
Also works for the record holders MoinMoin and SageNB... |
comment:12
Replying to @sagetrac-drkirkby:
Would it make sense to have a make target which produced verbose logs? Then you wouldn't have to explicitly set an environment variable. The same might go for parallel building, by the way. |
comment:13
Replying to @jhpalmieri:
No problem to add such.
Not a bad idea. I vaguely remember what I had in mind for the "global" log and parallel builds: Since our "deps" Makefile does nothing but call
|
comment:14
OT: A target for building the documentation (at least some parts) in parallel would be nice, too. (We'd have to split the meaning of "all", which isn't defined by/in |
comment:15
This works fine for me on OpenSolaris, and I can't possibly see it would be platform dependent. However, the meaning of I think in many cases one might want to set
or something like that. As such, I think |
Work Issues: Add a patch to document the new environment variable |
comment:17
Replying to @sagetrac-drkirkby:
Done.
You previously said you were happy with just removing the "v"... ;-) Though the installation guide really needs work (it is fairly out-dated), I've in addition only reformatted one paragraph to (less than) 80 columns and moved the description of |
Changed work issues from Add a patch to document the new environment variable to none |
comment:19
I think "s.t." stands for "such that". Maybe that sentence could be rephrased as
|
comment:20
Replying to @sagetrac-drkirkby:
It does not mean "sine tempore" (nor "subject to")... Of course I can change that.
I rather consider that a "developer's back door", which I would document in the Developer's Guide (if at all). ;-) |
Apply to Sage library. Based on Sage 4.6.rc0pre1. (Updated version s.t. more people can read it.) |
comment:21
Attachment: trac_10040-document_SAGE_SPKG_LIST_FILES-sage_library.patch.gz Replying to @nexttime:
Reluctantly did that. |
comment:22
ping (before it rottens) ;-) I'm working on a lot of further changes to (not only) |
Reviewer: Mitesh Patel |
comment:23
Suppressing the copying... messages sounds good to me. Should we have an option to enable them? Should we use suppress "tarbosity" in |
comment:24
Replying to @qed777:
I have a patched Python package here that currently only adds the Unfortunately, setting There's always We could make use of Sage environment variables (e.g. Did I already tell the
Less important, at least to me. |
comment:25
Replying to @nexttime:
$ wc -lc sage-4.6.rc0/install.log-rc0-orig sage-4.6.rc0-short-logs/install.log-rc0-short-logs
299773 31880226 sage-4.6.rc0/install.log-rc0-orig
122924 15222503 sage-4.6.rc0-short-logs/install.log-rc0-short-logs
422697 47102729 total
$ expr 15222503 - 11 \* `grep -c -- -short-logs sage-4.6.rc0-short-logs/install.log-rc0-short-logs`
14771536
$ echo "Total bytes saved: `expr 31880226 - 14771536`"
Total bytes saved: 17108690 (The above computation does not even take into account multiple occurrences of |
comment:26
Have you considered simply remove the |
comment:27
Replying to @jdemeyer:
See comments above. It's always good to have a "back door", the others then wanted me to officially document it. (And Mitesh recently asked if I could provide some way to reenable the useless "copying ..." messages from distutils if I suppress them.) I don't mind having dozens of environment variables that nobody uses, at least as far as their names do not pollute the environment. (And they're much easier to implement than command line options.) There are enough scripts that export(!) variables like But IMHO the opposite is the case: We have too many useful variables (some undocumented), many with odd names like |
comment:28
Replying to @jdemeyer:
As you will see above, my suggestion was to just remove the 'v' and leave it there. But I admit being able to change this does have some small benefit, and since it's now working, I think it's best left as it is. It can do no harm, and its documented properly. Dave |
comment:29
I get the following error which might be caused by this patch:
|
comment:30
Replying to @jdemeyer:
How that? I see no relation to my patch, looks rather like the |
comment:31
Replying to @sagetrac-drkirkby:
We need a special section for useless (or rarely used) variables, I think in the Developer's rather than the Installation Guide. |
comment:32
Replying to @nexttime:
Like |
comment:33
Replying to @nexttime:
Yes, perhaps some of these rarely used once should be in a section of their own. But that can be the subject of another ticket, and would not doubt need a lot of discussion about what is rarely used, what should be used more often. IMHO, this ticket has positive review and should be merged unchanged. |
comment:34
Replying to @jdemeyer:
Yes and no. I think it was caused by the patch, but because you made a small mistake in applying the patch: when patching the script sage-spkg for testing purposes, you need to apply the patch, but then also copy the new version of sage-spkg to SAGE_ROOT/spkg/base. (Or apply the patch and then run "sage -sdist" and build the new version from scratch.) Otherwise, if the files SAGE_ROOT/spkg/base/sage-spkg and sage-spkg in the sage_scripts spkg don't match, at some point one of them overwrites the other while it is being executed, and the shell gets confused. At least, that's my guess about what happened. |
comment:35
Replying to @jhpalmieri:
That seems to be a likely explanation, I will test later. I suppose the same holds for |
comment:36
Replying to @jhpalmieri:
Thanks a lot for the tip, that's precisely what happened. |
comment:37
Replying to @jdemeyer:
Well, the same thing happened to me a few days ago, so it was an educated guess. |
Merged: sage-4.6.1.alpha1 |
The
sage-spkg
script runstar
with thev
option to extract spkgs. This significantly increases the size of many installation logs. Not adding the option would make the logs easier to navigate and search for errors and warnings, too.I think Leif Leonhardy proposed this, somewhere.
CC: @nexttime
Component: build
Author: Leif Leonhardy
Reviewer: Mitesh Patel
Merged: sage-4.6.1.alpha1
Issue created by migration from https://trac.sagemath.org/ticket/10040
The text was updated successfully, but these errors were encountered: