[Sugar-devel] Debian Advocacy for Sugar - Update

shaansubbaiah.cs18 at bmsce.ac.in shaansubbaiah.cs18 at bmsce.ac.in
Fri Jun 12 03:55:32 EDT 2020


Regarding the error: glib-compile-schemas: not found,

Here’s how it was working while libglib2.0-bin was a dependency/commit c5717fc3:   
   - Creates gschemas.compiled in ~/.sugar/default/org.laptop.WebActivity/data/schemas/ directory (if missing).
   - Creates org.laptop.WebActivity.gschema.xml from code in the same directory (if missing).
   - Runs glib-compile-schemas org.laptop.WebActivity.gschema.xml to generate the compiled schemas.
   - Deletes org.laptop.WebActivity.gschema.xml
   - Generates local Gio.Settings based on the compiled schema by calling Gio.Settings.new_full(schema, None, None)

In the commit 0977ac69,   
   - Non compiled org.laptop.WebActivity.gschema.xml has been copied to /usr/share/glib-2.0/schemas/ so as to avoid the more tedious process of generating it in the browser.py   
-browser.py still calls glib-compile-schemas which is missing from /usr/bin/ as it is not installed.
   - Without glib-compile-schemas from the lib-glib2.0-bin package, I don’t see how the compiled schemas (gschemas.compiled) can be generated post sucrose install.

In the same commit, in debian/rules:-binary-post-install/$(pkg)::
-   glib-compile-schemas debian/$(cdbs_curpkg)/usr/share/sugar/activities/Browse.activity
+binary-fixup/$(pkg)::
+   rm -f debian/*/usr/share/sugar/activities/Browse.activity/org.laptop.WebActivity.gschema.xml

Removes calling glib-compile-schemas post installation at /usr/share/sugar/activities/Browse.activity.
Perhaps it may be required to include calling glib-compile-schemas post installation at /usr/share/glib-2.0/schemas ?​   On Thursday, June 11, 2020, 8:53:40 PM GMT+5:30, Chihurumnaya Ibiam <ibiamchihurumnaya at gmail.com> wrote:  
 
 

On Thu, Jun 11, 2020 at 1:39 PM shaansubbaiah.cs18 at bmsce.ac.in <shaansubbaiah.cs18 at bmsce.ac.in> wrote:


Hello Ibiam,

 I am not sure if I got this right regarding the difference in line numbers but patch 1001 changes the schema indentation as discussed earlier. This patch has been numbered 1001, according to the README in the same commit, “1xxx: Possibly relevant for upstream adoption”. It has changes ahead of upstream.


Yes it was labeled "Possibly relevant for upstream adoption" because it's only relevant for the official Debian release. 


I believe this is a Debian patch and the diff is kept separate from browser.py( which is pulled from the upstream Github repository). Since the patch (located at /debian/patches/1001_un-embed_gsettings_schema.patch of the Salsa repository) is applied during installation, the line number changes (self.settings = _get_local_settings(activity)from L145 -> L147) is seen only in the installed Activity directory/Traceback. The Github and Salsa repositories have the above line in browser.py at L145 as they do not have the patch applied.


Yes this is what I've been trying to make you conclude, and you also could have done this by viewing the source code of the activity in the debian release. 


I have to still find out why the issue occurs even with the patch. I was unable to reproduce the issue with libglib2.0-dev removed and the Web Activity log files deleted. I’ll restore a snapshot and try debugging.


Yes that's the next step to take.


Best,
Shaan


Thanks for the update.-- 
Ibiam Chihurumnaya 
ibiamchihurumnaya at gmail.com

 
   On Wednesday, June 10, 2020, 11:14:19 PM GMT+5:30, Chihurumnaya Ibiam <ibiamchihurumnaya at gmail.com> wrote:  
 
 The commit #930e1c applies patch to the package, the commit message said
Embedding the GSettings schema complicates generating during build.
 This patch replicates the embedded schema as standalone file
 (partly reverting git commit ffdacaa).
 .
 Additionally, this patch sprinkles some indentation changes
 to the embedded schema,
 to ensure that if upstream changes the schema
 then applying the patch will fail hard

The commit message says the commit was reverting ffdacaa while having the schema
embedded with some indentation changes "to ensure that if the upstream changes the schema
then applying the patch will fail hard".
The actual issue isn't the commit changing the indentation as that's not what's been addressed.
I've not been able to see any commit that change the lines, the error says L192 of webactivity.py calls
TabbedView in browser.py and this is where the lines get mixed up.
Yes you'll have to investigate further why the schema can't be loaded but also make sure the files in all 3 places correspond 
- sugar, salsa, github -.

 
-- 
Ibiam Chihurumnaya 
ibiamchihurumnaya at gmail.com


On Wed, Jun 10, 2020 at 5:26 PM shaansubbaiah.cs18 at bmsce.ac.in <shaansubbaiah.cs18 at bmsce.ac.in> wrote:


Hello James and Ibiam,

I should have been more clearer in my mail, the diff posted in the previous mail was generated by using Python with the difflib library.

I have now gone through the commits in the Salsa repository and have found the commit that has caused the line changes. I’m not completely sure what the commit message means, it appears the difference in the indentation of the embedded schema was used to ensure that the patch in the commit would fail if upstream changed the schema. Linked here, #930e1c

Also, libglib2.0-bin had been added as a dependency in commit #c5717 and had been later replaced by a GSettings schema (org.laptop.WebActivity.gschema.xml) located at /usr/share/glib-2.0/schemas/ . Linked here, #0977a, making Browse activity independent of libglib2.0-bin.

I’ll have to investigate further as to why the Browse activity cannot detect the GSettings schema.

Best,
Shaan
   On Wednesday, June 10, 2020, 12:16:21 PM GMT+5:30, James Cameron <quozl at laptop.org> wrote:  
 
 Shaan,

* the sources are different, and this is not unusual, and not a problem worth reporting unless an explanation cannot be found,

* the commits in salsa explain the reason for every difference.

Now that you have detected a difference, please make sure you read the commits, in all aspects;

* the commit message,

* the commit diff,

* the context or ordering in which the diff occurs.

The diff format must be learned to the point you can be comfortable to make a change by hand.  Not that you have to; tools like patch(1) can do it for you, but sometimes a diff is malformed when it is sent by other means than git.

On Tue, Jun 09, 2020 at 06:29:10PM +0100, Chihurumnaya Ibiam wrote:
> Thanks for the update.
> 
> Both files in the Debian salsa repo and the github repo have matching lines and
> I'm also guessing the file at
> the installed /usr/share/activities/browseactivity will also have matching -
> can you confirm if it does? - lines
> but the traceback prints the wrong lines.
> 
> --
> 
> Ibiam Chihurumnaya
> [1]ibiamchihurumnaya at gmail.com
> 
> On Tue, Jun 9, 2020 at 6:02 PM [2]shaansubbaiah.cs18 at bmsce.ac.in <[3]
> shaansubbaiah.cs18 at bmsce.ac.in> wrote:
> 
>    Hello Ibiam,
> 
>    Comparing browse.py in:
> 
>      1. Github repository [4]https://github.com/sugarlabs/browse-activity/
>      2. Debian Salsa repository [5]https://salsa.debian.org/pkg-sugar-team/
>        sugar-browse-activity/-/blob/master/browser.py
>      3. The installed activity at /usr/share/activities/browseactivity
> 
>    The Github and Salsa versions have matching line numbers. Difference
>    between the Github and installed versions:
> 
>    --- bgit # browse.py in Github
>    +++ bdeb # installed browse.py
>    @@ -110,15 +110,13 @@
>                      [
>                          '<?xml version="1.0" encoding="UTF-8"?>',
>                          '<schemalist>',
>    -                    '<schema id="org.laptop.WebActivity" '
>    -                    'path="/org/laptop/WebActivity/">',
>    -                    '<key name="home-page" type="s">',
>    -                    "<default>''</default>",
>    -                    '<summary>Home page URL</summary>',
>    -                    '<description>URL to show as default or when home button '
>    -                    'is pressed.</description>',
>    -                    '</key>',
>    -                    '</schema>',
>    +                    '    <schema id="org.laptop.WebActivity" path="/org/laptop/WebActivity/">',
>    +                    '        <key name="home-page" type="s">',
>    +                    "            <default>''</default>",
>    +                    '            <summary>Home page URL</summary>',
>    +                    '            <description>URL to show as default or when home button is pressed.</description>',
>    +                    '        </key>',
>    +                    '    </schema>',
>                          '</schemalist>',
>                      ]
>                  open(os.path.join(path, src), 'w').writelines(lines)
> 
>    Seems the only difference was the lines that was split into new lines have
>    been concatenated to a single line.
> 
>    Best,
>    Shaan
>    
>    On Monday, 8 June, 2020, 10:19:48 pm IST, Chihurumnaya Ibiam <[6]
>    ibiamchihurumnaya at gmail.com> wrote:
> 
>    You might have to include it as a dependency for your next release as
>    that's the latest version
>    that Browse currently has, what doesn't sit well with me is the line
>    difference,  I can't do any
>    investigation at the moment but it'll be great if you took a look at the
>    source code to confirm the line
>    differences. Thanks.
> 
>    --
>    
>    Ibiam Chihurumnaya
>    [7]ibiamchihurumnaya at gmail.com
>    
>    
> 
>    On Mon, Jun 8, 2020 at 7:46 AM [8]shaansubbaiah.cs18 at bmsce.ac.in <[9]
>    shaansubbaiah.cs18 at bmsce.ac.in> wrote:
> 
>        Hello Ibiam,
>        The version of the browse-activity installed was 205-2.
> 
>        Sorry for the late reply, temporarily away from home, I'm on a
>        different system testing Sugar and internet bandwidth isn't very high.
>        Should be back in a day or two.
> 
>        Best,
>        Shaan
> 
>        On Sunday, 7 June, 2020, 3:50:23 am IST, Chihurumnaya Ibiam <[10]
>        ibiamchihurumnaya at gmail.com> wrote:
> 
>        Thanks Shaan, what version of Browse are you running as the lines in
>        the traceback are off
>        from the latest version?
> 
>        --
>        
>        Ibiam Chihurumnaya
>        [11]ibiamchihurumnaya at gmail.com
>        
>        
> 
>        On Sat, Jun 6, 2020 at 6:58 PM [12]shaansubbaiah.cs18 at bmsce.ac.in <[13]
>        shaansubbaiah.cs18 at bmsce.ac.in> wrote:
> 
>            Hello Ibiam,
>            Installing the libglib2.0-dev package fixes the issue. I have also
>            just found that this issue is mentioned in the browse-activity
>            readme '' Unusually, Browse also depends on glib-compile-schemas to
>            compile a Gio.Settings schema. ''.
> 
>            Online searches also return similar results, eg. :
>            [14]https://askubuntu.com/questions/204643/
>            getting-missing-dependency-for-compilation-glib-compile-schemas
>             and 
>            [15]https://askubuntu.com/questions/161739/
>            why-does-launchpad-fail-to-find-glib-compile-schemas-while-building-for-ppa
> 
>            I'm fairly certain that this is the correct fix, however, I have
>            not found libglib2.0-dev as a dependency of Browse Activity for the
>            earlier releases of Debian at [16]https://packages.debian.org/
>            search?keywords=sugar-browse-activity . So I do not know how this
>            was handled in older releases or if it was handled at all. 
> 
>            Best,
>            Shaan
>            On Saturday, June 6, 2020, 10:47:34 PM GMT+5:30, Chihurumnaya Ibiam
>            <[17]ibiamchihurumnaya at gmail.com> wrote:
> 
>            Can you test to confirm if it's the problem?
> 
>            --
>            
>            Ibiam Chihurumnaya
>            [18]ibiamchihurumnaya at gmail.com
>            
>            
> 
>            On Sat, Jun 6, 2020 at 9:11 AM Shaan Subbaiah B C <[19]
>            shaansubbaiah.cs18 at bmsce.ac.in> wrote:
> 
>                Hello Ibiam,
>                Great to know that the markdown formatted as html is more
>                convenient.
> 
>                I'm not entirely sure that the web activity issue is due to
>                libglib2.0-dev no being present as a depenency but the error
>                seems to be caused due to some header file missing that is
>                fixed by installing that package.
> 
>                I'll open the issues as you specified and test further.
> 
>                Best,
>                Shaan
> 
>                On Sat, 6 Jun, 2020, 4:40 am Chihurumnaya Ibiam, <[20]
>                ibiamchihurumnaya at gmail.com> wrote:
> 
>                    Thanks for the update Shaan,
> 
>                    The error you shared in 2) happens in #840 like you said
>                    but the traceback in the logs is seen for the first time
>                    and looks like it's a Python 3 port regression, kindly open
>                    an issue in sugar so it can be tracked.
> 
>                    Can you confirm that 3) is caused by libglib2.0-dev not
>                    listed as a dependency in the control file?
> 
>                    Could you open an issue for 4) in the write repo?
> 
>                    I find the markdown rendered as HTML convenient and most of
>                    it appears as [21]plaintext in the devel archive,
>                    except the bullet points that start with a `-` above them.
> 
>                    --
>                    
>                    Ibiam Chihurumnaya
>                    [22]ibiamchihurumnaya at gmail.com
>                    
>                    
>                    On Fri, Jun 5, 2020 at 10:08 AM [23]
>                    shaansubbaiah.cs18 at bmsce.ac.in <[24]
>                    shaansubbaiah.cs18 at bmsce.ac.in> wrote:
> 
>                        I have tried to install sucrose on the standard Debian
>                        Live ISO (it has no Desktop Environment, only CLI) as
>                        there were some issues while trying to do so in the
>                        Debian Live (KDE Plasma) ISO:
> 
>                          ◎ Attempting to install sucrose v117-x after adding
>                            the unstable repositories to sources.list and
>                            setting the default release as stable by sudo apt
>                            install -t unstable sucrose causes 100’s of
>                            packages to be removed (Including all KDE
>                            applications, Firefox, Konsole, etc) and initiates
>                            the install of several 100 language packs for
>                            Firefox, LibreOffice, etc.
> 
>                          ◎ Installing by setting the default release as
>                            unstable and sudo apt install sucrose causes the
>                            same issue above.
> 
>                          ◎ Setting default release as ‘stable’ and attempting
>                            to install using sudo apt install sucrose/unstable
>                            does not cause this issue but requires including
>                            all the dependencies with /unstable postfix
>                            (otherwise dependencies are fetched from the stable
>                            repo itself). This is very messy, the Desktop
>                            Environment and almost all useful preinstalled
>                            applications get wiped, some dependencies aren’t
>                            satisfied while testing Sugar after install.
> 
>                        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
>                        
>                        Install Debian Live Standard ISO
> 
>                        [25]https://cdimage.debian.org/debian-cd/current-live/amd64/bt-hybrid/debian-live-10.4.0-amd64-standard.iso.torrent
> 
>                        Set default package repository to unstable
> 
>                        # /etc/apt/apt.conf.d/my-default-release
>                        APT::Default-Release "unstable";
> 
>                        Update, Install gcc-8-base, sucrose
> 
>                        sudo apt update
>                        sudo apt install gcc-8-base # select 'yes' on the prompt
>                        sudo apt install sucrose
> 
>                        Debian Live Standard doesn’t come with a Display
>                        Manager by default, install lightdm
> 
>                        sudo apt install lightdm
> 
>                        Reboot, select Sugar and log in.
> 
>                        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
>                        
>                        On testing:
> 
>                        1) Sugar launches. Again most activities work without
>                        issues. Listed issues below.
> 
>                        2) Error in shell.log
> 
>                        1591278095.943871 ERROR dbus.proxies: Introspect error on :1.28:/org/laptop/Activity/376730b6f93a8aa9b2929c28e423b45b73f2b515: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
>                        1591278095.944801 ERROR root: set_active() failed: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.28 was not provided by any .service files
>                        1591278100.365706 ERROR dbus.proxies: Introspect error on :1.30:/org/laptop/Activity/376730b6f93a8aa9b2929c28e423b45b73f2b515: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
>                        1591278100.366105 ERROR root: set_active() failed: org.freedesktop.DBus.Error.ServiceUnknown: The name :1.30 was not provided by any .service files
>                        Traceback (most recent call last):
>                          File "/usr/lib/python3/dist-packages/jarabe/desktop/viewcontainer.py", line 69, in do_size_allocate
>                            self._layout.allocate_children(allocation, self._children)
>                          File "/usr/lib/python3/dist-packages/jarabe/desktop/favoriteslayout.py", line 250, in allocate_children
>                            name_hash = hashlib.md5(child.get_bundle_id().decode())
>                        AttributeError: 'str' object has no attribute 'decode'
> 
>                        ^ Seems to be similar to Sugar issues #840 and #843
> 
>                        3) Web Activity doesn’t launch, error:
> 
>                        sh: 1: glib-compile-schemas: not found
>                        Traceback (most recent call last):
>                          File "/usr/bin/sugar-activity3", line 5, in <module>
>                            activityinstance.main()
>                          File "/usr/lib/python3/dist-packages/sugar3/activity/activityinstance.py", line 230, in main
>                            instance = create_activity_instance(activity_constructor, activity_handle)
>                          File "/usr/lib/python3/dist-packages/sugar3/activity/activityinstance.py", line 59, in create_activity_instance
>                            activity = constructor(handle)
>                          File "/usr/share/sugar/activities/Browse.activity/webactivity.py", line 192, in __init__
>                            self._tabbed_view = TabbedView(self)
>                          File "/usr/share/sugar/activities/Browse.activity/browser.py", line 145, in __init__
>                            self.settings = _get_local_settings(activity)
>                          File "/usr/share/sugar/activities/Browse.activity/browser.py", line 127, in _get_local_settings
>                            source = Gio.SettingsSchemaSource.new_from_directory(path, None, True)
>                        gi.repository.GLib.Error: g-file-error-quark: Failed to open file “/home/ssbc/.sugar/default/org.laptop.WebActivity/data/schemas/gschemas.compiled”: open() failed: No such file or directory (4)
>                        Terminated by signal 11, pid 866 activity_id 376730b6f93a8aa9b2929c28e423b45b73f2b515
> 
>                        ^ This occurred while using the other installation
>                        methods as well. It was fixed by installing
>                        libglib2.0-dev. This may be a packaging issue where
>                        ‘libglib2.0-dev’ is not specified as a dependency for
>                        the Web Activity?
> 
>                        4) Write Activity crashes when trying to move a table.
>                        ^ Reproduced by: Opening Words Activity -> Insert a
>                        table -> Try dragging/resizing one of the inner row/
>                        horizontal lines (Not the ones forming the outer
>                        boundary) -> Crash
> 
>                        Terminated by signal 11, pid 4715 activity_id 6305d02f3035c4afc03030e685fe338e6e394807
> 
>                        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
>                        
>                        I’m trying to keep a log/executed snippets in markdown
>                        on a Github repository. Some files may not contain
>                        anything useful, just snippets for future reference.
>                        I’ll make it public after I clean it up a bit.
> 
>                        I’ll post anything important through mail. I have used
>                        the ‘Markdown Here’ extension to render markdown as
>                        HTML. Let me know if you find this more convenient and
>                        I’ll have to check how this appears in the Sugar Devel
>                        Archive. If not suitable, I’ll revert back to markdown/
>                        plaintext.
> 
>                        
>                        _______________________________________________
>                        Sugar-devel mailing list
>                        [26]Sugar-devel at lists.sugarlabs.org
>                        [27]http://lists.sugarlabs.org/listinfo/sugar-devel
> 
> References:
> 
> [1] mailto:ibiamchihurumnaya at gmail.com
> [2] mailto:shaansubbaiah.cs18 at bmsce.ac.in
> [3] mailto:shaansubbaiah.cs18 at bmsce.ac.in
> [4] https://github.com/sugarlabs/browse-activity/
> [5] https://salsa.debian.org/pkg-sugar-team/sugar-browse-activity/-/blob/master/browser.py
> [6] mailto:ibiamchihurumnaya at gmail.com
> [7] mailto:ibiamchihurumnaya at gmail.com
> [8] mailto:shaansubbaiah.cs18 at bmsce.ac.in
> [9] mailto:shaansubbaiah.cs18 at bmsce.ac.in
> [10] mailto:ibiamchihurumnaya at gmail.com
> [11] mailto:ibiamchihurumnaya at gmail.com
> [12] mailto:shaansubbaiah.cs18 at bmsce.ac.in
> [13] mailto:shaansubbaiah.cs18 at bmsce.ac.in
> [14] https://askubuntu.com/questions/204643/getting-missing-dependency-for-compilation-glib-compile-schemas
> [15] https://askubuntu.com/questions/161739/why-does-launchpad-fail-to-find-glib-compile-schemas-while-building-for-ppa
> [16] https://packages.debian.org/search?keywords=sugar-browse-activity
> [17] mailto:ibiamchihurumnaya at gmail.com
> [18] mailto:ibiamchihurumnaya at gmail.com
> [19] mailto:shaansubbaiah.cs18 at bmsce.ac.in
> [20] mailto:ibiamchihurumnaya at gmail.com
> [21] http://lists.sugarlabs.org/archive/sugar-devel/2020-June/058403.html
> [22] mailto:ibiamchihurumnaya at gmail.com
> [23] mailto:shaansubbaiah.cs18 at bmsce.ac.in
> [24] mailto:shaansubbaiah.cs18 at bmsce.ac.in
> [25] https://cdimage.debian.org/debian-cd/current-live/amd64/bt-hybrid/debian-live-10.4.0-amd64-standard.iso.torrent
> [26] mailto:Sugar-devel at lists.sugarlabs.org
> [27] http://lists.sugarlabs.org/listinfo/sugar-devel

-- 
James Cameron
http://quozl.netrek.org/
  
  
  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20200612/ce7abec9/attachment-0001.htm>


More information about the Sugar-devel mailing list