-
Notifications
You must be signed in to change notification settings - Fork 80
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
Sugar Live build no longer shows changes. #442
Comments
Sorry, I don't understand. What do you mean by shows live changes? |
On Tue, Feb 18, 2020 at 12:56:40PM -0800, James Cameron wrote:
Sorry, I don't understand. What do you mean by shows live changes?
I'm also uncertain. There are a lot of different ways to use sugar-live-build in which something can go wrong.
Are you using the image James has built, dowloaded and booted in a virtual machine of some kind? If so, what virtual machine? Virtual Box, kvm? If kvm, how invoked?
Is it booted with the image ephemerally, as if from a virtual CD/DVD drive? In this case, one expects changes not to persist between boots.
Has the image been used to install to a virtual hard disk, in which case one expects changes to persist on that hard disk?
Are you using sugar-live-build to create your own image? Is this about trying to add functionality to the image that results from that process?
I so like to use script(1) (from the bsdutils package on Debian) for recording and communicating what happens in the terminal. I wonder if it would be useful here?
https://manpages.debian.org/stretch/bsdutils/script.1.en.html
|
Edited title. What I meant was changes made to the toolkit or sugar itself doesn't persist.
The image James built had some issues with graphical installation and I built mine after someone fixed it, you can get it here.
No it isn't.
Yes it has and yes the changes are expected to persist but since the port to python3 changes no longer persist.
No I'm not.
Yeah I know of script but it'll not be useful here. How to reproduce
You can also test the PRs I mentioned above, I had a python2 - sugar live build - machine running before now but I lost that due to some issues. @quozl if you have any you can test the mentioned PRs above and also test same rebased on |
Tell me what you do after you make a change to the Toolkit or Sugar? Have you verified the change is in the files in the operating system? i.e. in /usr/lib Don't forget, sugarlabs/sugar#868 means you have to stop Sugar or an activity before looking at the log file. |
I'll speculate some more. Perhaps you accidentally installed the toolkit or Sugar into a different directory. Please use strace to verify the files used. e.g.
Above demonstrates on this system that the Toolkit is being used from /usr/lib |
I restart.
I'll verify but normally that should happen after building. |
What is it you restart? An activity, Sugar, or the operating system? |
I restart sugar when changes are made to sugar or the toolkit. |
I'm sure that's not the case. |
Okay, then I suggest you use the strace method to confirm which file is being imported, and check that the file being imported contains the change you made in git. As you've not been specific about the change you made, I can't give exact instructions for this. |
Output of strace method
The strace method confirms the file being imported but the file doesn't contain the changes I made in git. I rebuilt sugar after the change and then restarted sugar. |
How did you rebuild and reinstall Sugar? |
I ran |
Thanks. You haven't run If this isn't the case, please use |
Also note the surprising |
Just learning that I'm supposed to include
Will do. |
Gist here. |
Thanks. No, No, it wasn't introduced after our Port to Python 3. No, the README.md of the components don't state that nor should they. That could be a disaster for anyone managing a normal system with packaged software. Checked Gist. It has installed to |
I'll run |
The problem has nothing to do with installing from a different image. It has to do with how you rebuilt and installed the toolkit on the installed system. |
I said so because the image built contained the |
Changes now persist but I have to run the I didn't have to include |
The You do have to use You're using the method that I was willing to publish. I chose that one because it was easiest to explain and support. There are other methods for changing and testing the toolkit if you need to explore them;
|
Summary: after a build, install, and restart, changes to toolkit were not seen. Cause was not following the same build and install sequence as was used when the image was built. |
Isn't it supposed to be executed when the image was built? |
Literal answer; yes, it is executed when a Sugar Live Build image is built. You can prove that happened by finding the sugar3 module installed in I've no idea what is behind your question though. I thought it was self-evident from reading the code and using Sugar Live Build. You'll have to tell me if there is another aspect to your question. |
Yes it's self evident but it seems that line doesn't get executed as I have to run it myself. |
Thanks. I guess I'm missing why you mention it. You have to run it yourself, in the same way that you have to edit the source files, run autogen, make, make install, git clean, and repeat for Python 2 if necessary. The same steps in slightly different form are in Setup a development environment - Native Sugar and in RPM spec files and Debian rules files. The copying or moving of files to |
@free-libre-software, this issue may be of interest. |
I tried as suggested in https://github.com/sugarlabs/sugar-live-build/blob/master/src/config/hooks/normal/0900-sugar.hook.chroot#L42 for building sugar after making changes still changes were not visible. This is what I did - install-sugar.log. And then I do a log out from sugar. Still no changes was visible, I couldn't figure out what I did wrong. @quozl @chimosky can you please look once. |
https://github.com/sugarlabs/sugar-live-build/blob/master/src/config/hooks/normal/0900-sugar.hook.chroot#L42, command was of no interest for me as the jarabe folder was present in dist-packages directory already, and there were no jarabe folder in site-packages. |
Its difficult to judge from log if all steps were followed since I followed additional step mentioned in mailing list i.e.: rm -rf /usr/lib/python3.7/dist-packages/jarabe/
site-packages/jarabe is likely empty because your Can you try following process: #!/usr/bin/bash
cd /usr/src/sugar && (
./autogen.sh --prefix /usr \
&& make \
&& make install \
&& rm -rvf /usr/lib/python3.7/dist-packages/jarabe/ \
&& mv -v /usr/lib/python3.7/site-packages/jarabe /usr/lib/python3.7/dist-packages/
) > /usr/src/install-sugar.log 2>&1 \
&& echo OK Save it in a file like $ sudo bash update.sh Also, maybe try rebooting instead of log out and log in as well. |
Thanks @free-libre-software it worked for me now.
The cause why it wasn't working is this line. After adding it worked fine. |
The Also, the script is run on a system that doesn't have Sugar installed. Once Sugar is installed, the extra step is needed to remove the directory before moving the new one into place. Since both these extra steps are specific to Debian, they don't belong in Sugar itself. Also, when you're not sure if your change is present, check if it is. Use Lastly, logging out and logging in to Sugar is sufficient for testing changes to Sugar or Toolkit. Restarting or rebooting should not be necessary. An exception is when testing Datastore; the D-Bus process can be preserved from a previous session if you log in within a minute. |
I recently tried to do some changes in sugar in jarabe folder , ran that script. Changes were available, I don't even need to do logout or reboot. But when I did a reboot later, something weird happened I don't know what and now I am stuck in a login loop. I am not able to do a login again. I have noticed this problem some days ago also. |
Your change must have caused it, if you can ssh into the machine you should be able to check shell.log for what the problem is, fix it and build again. |
As @chimosky said. Changes made must be crashing sugar. Press |
Get it solved by switching to virtual console and removing all changes. |
A login loop usually means Sugar is failing to start, and you'll find an explanation briefly in the shell.log file. If you have automatic login enabled, you'll have to use SSH or a text virtual console to regain control of the VM.
Keep good snapshots of your virtual machines.
Always set up inbound SSH on your virtual machines.
|
Noticed this while I ran
genpot
for typing-turtle-activity, tried to see the value ofargs
incmd_genpot
ofbundlebuilder
and I didn't get any output.Also noticed with sugar#852 and sugar#851.
@quozl.
The text was updated successfully, but these errors were encountered: