bugh-source - Bugs: bug #60940, Update h-client for python3/GTK3

 
 

bug #60940: Update h-client for python3/GTK3

Submitter:  Yuchen Pei <ycp>
Submitted:  Mon 19 Jul 2021 03:53:07 AM UTC
   
 
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Ready For Test
Privacy:  Public Assigned to:  bill_auger
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Wed 15 Jun 2022 01:12:22 PM UTC, comment #14: 


> Follow-up Comment #13, bug #60940 (project h-source):
>
> Hi Yuchen,
>
> Thanks for the precisions! 
>
> I've now populated the previously empty h-client Git repository with a 'main'
> branch that matches the 'master' branch of Bill's repository (which combines
> both h-source's h-client code SVN history with the h-client's SVN one), along
> the 'python3-port' branch that is based on 'main' and otherwise corresponds to
> https://git.sr.ht/~apteryx/h-client.


Thanks for doing that.

>
> So the previous links made to sr-ht branch (on the wiki?) can be adjusted to
> point to the 'python3-port' branch on the Savannah git repository.


I'm not sure what wiki you are talking about.  If it is about the h-node.org wiki page about h-client[1], do you think you can update it?  I have updated the description of the h-client project though <https://savannah.nongnu.org/projects/h-client/>.

[1] https://h-node.org/wiki/page/en/client-for-h-node-org

>
> With the main branch capturing (both) current SVN history, thanks to Bill, I
> think we should also delete the SVN repo of the h-client project and delete
> the h-client directory within the h-source project to avoid confusion.
>
> What do you think?


The h-source git repo is done - I just fast-forwarded master to the h-node branch, where I removed the h-client tree last year.

I can't find a way to remove h-client SVN repo, and I guess that requires savannah admin intervention.  Shall we have some proof that the git repo does contain the entire SVN history e.g. with some git / svn / text-processing command combinations, and/or get bill-auger's input, before opening a ticket at Savannah Administration at (https://savannah.nongnu.org/support/?group=administration) to remove the SVN repo?

>
> Thanks,


Thanks to you for moving things forward.

>
> Maxim

Yuchen Pei <ycp>
Group administrator
Tue 14 Jun 2022 03:02:04 PM UTC, comment #13: 

Hi Yuchen,

Thanks for the precisions! 

I've now populated the previously empty h-client Git repository with a 'main' branch that matches the 'master' branch of Bill's repository (which combines both h-source's h-client code SVN history with the h-client's SVN one), along the 'python3-port' branch that is based on 'main' and otherwise corresponds to https://git.sr.ht/~apteryx/h-client.

So the previous links made to sr-ht branch (on the wiki?) can be adjusted to point to the 'python3-port' branch on the Savannah git repository.

With the main branch capturing (both) current SVN history, thanks to Bill, I think we should also delete the SVN repo of the h-client project and delete the h-client directory within the h-source project to avoid confusion.

What do you think?

Thanks,

Maxim

Maxim Cournoyer <apteryx>
Tue 14 Jun 2022 08:09:14 AM UTC, comment #12: 

    > Follow-up Comment #11, bug #60940 (project h-source):
    >
    > Hi Yuchen,
    >
    > comment #10:
    >> I thought I could coordinate the work on h-client in this thread.  As it
    > turned out I don't have time to review the code, nor the energy for drama.
    >
    > Thanks for the efforts, I think you are doing great!  There seems to be some
    > point to clarify, if I may ask:
    >
    > Is there a consensus that the h-client source should be moved to the h-source
    > project (under a separate code tree than h-source itself); it seems the
    > request originated from you [0], and Bill had expressed their agreement with
    > the idea in [1].
    >
    > [0]
    > https://lists.nongnu.org/archive/html/h-source-users/2021-10/msg00015.html
    > [1]
    > https://lists.nongnu.org/archive/html/h-source-users/2021-10/msg00024.html
    >
    > It seems it never materialized; so perhaps the current two-projects structure
    > was chosen (preserved) in the end?


These messages came from a savannah support ticket <https://savannah.nongnu.org/support/?110548> which was created by me, though [1] above did not appear in the ticket thread because the savannah ticket system is one way only (from web form to mailing list, not the other way around).

There was no consensus.  The Savannah admin wanted feedback from the h-client admins, but they didn't respond.  So the issue got stale and nothing was changed.

As I mentioned in the ticket, my goal was to separate out the h-client tree from the h-source tree.  Whether it was moved into a separate repo under the h-source project or into the h-client project was not important.  I chose the former because (IIRC) the h-client admins seemed unreachable, so if we were to leave the option of continuing working on the h-client code open, it would make more sense to do so under the h-source project, which I have been an admin.

Now the situation is different: I am an admin of h-client as well, so it makes more sense to choose the second option, i.e. hosting the h-client code under the h-client project, as 1) it requires no administrative overhead (requesting and waiting for the savannah admin to create a new project), 2) it is cleaner and less confusing ("empty" h-client project and an h-source project that hosts both h-source code and h-client code), and 3) these are two separate projects, with different purposes.  The h-client project does not require server administration / devops.  The h-node site does not require the h-client to run.  It is like having mastodon and mastodon clients like mastodon.el or toot in different repos.  Decoupling generally saves time and energy.

Regarding h-source, I also don't think it makes a lot of sense to bikeshed on which forge to use and where to write responses to bugs etc., as long as the current choice is not the bottleneck.  At this stage the bottleneck for the server development is the code quality / readability.  We need (more) tests for h-source, so that we can refactor the legacy code and make more interesting changes.  I am also not convinced the current number of active devs (basically 1) and time resources warrant long debates on that front.

I hope this answers your questions - let me know if you have more.

    >
    > Thanks,
    >
    > Maxim

Yuchen Pei <ycp>
Group administrator
Tue 14 Jun 2022 03:43:02 AM UTC, comment #11: 

Hi Yuchen,

comment #10:

> I thought I could coordinate the work on h-client in this thread.  As it turned out I don't have time to review the code, nor the energy for drama.


Thanks for the efforts, I think you are doing great!  There seems to be some point to clarify, if I may ask:

Is there a consensus that the h-client source should be moved to the h-source project (under a separate code tree than h-source itself); it seems the request originated from you [0], and Bill had expressed their agreement with the idea in [1].

[0]  https://lists.nongnu.org/archive/html/h-source-users/2021-10/msg00015.html
[1]  https://lists.nongnu.org/archive/html/h-source-users/2021-10/msg00024.html

It seems it never materialized; so perhaps the current two-projects structure was chosen (preserved) in the end?

Thanks,

Maxim

Maxim Cournoyer <apteryx>
Tue 14 Jun 2022 12:25:33 AM UTC, comment #10: 

I thought I could coordinate the work on h-client in this thread.  As it turned out I don't have time to review the code, nor the energy for drama.

This project has served as the place for h-source, the server part of h-node, so I'm going to close this ticket.  If people want to continue the discussion, please do so in an h-client project venue.  I am aware of three such places now: the two repos mentioned in this ticket[1][2] and the (dormant) h-client Savannah project[3].  As long as the situation is not clear which of the three counts as official so I'll point people to [1] and [2] in discussions on h-client on Savannah.  As the only active admin of [3], I will respond to issues opened there.

[1] https://pagure.io/h-client/commits/development
[2] https://git.sr.ht/~apteryx/h-client/tree
[3] https://savannah.nongnu.org/projects/h-client/

Feel free to reopen if you disagree.

Yuchen Pei <ycp>
Group administrator
Sat 11 Jun 2022 02:45:58 AM UTC, comment #9: 


> and because we were considering to put the VCS under the h-source project instead - that did not happen, and no one reviewed the conversion;


Apologies for that.  We should separate h-source and h-client (https://savannah.nongnu.org/projects/h-client/) projects.  So h-client code should go to h-client project. 

> i will push something to savannah this week, whether or not it is ready enough for a release


Can you push to the h-client project git repo, preferably in a non-master branch?

apteryx: I've added you as a member to the h-client project, feel free to push your version to a non-master branch there [1].  IIUC the git repo is empty for historical reasons.

[1] https://git.savannah.nongnu.org/cgit/h-client.git

bill-auger, apteryx: I'm not sure I have time to review h-client code in the next week.  I'll need to think about what to do with this.  Feel free to ping me meanwhile.

Yuchen Pei <ycp>
Group administrator
Thu 09 Jun 2022 02:29:50 AM UTC, comment #8: 

firstly, i wish that i could reply to these tickets by email

secondly, i wish that "quote" button did not exist - it makes these tickets very noisy - please click on "post a comment" instead

but nm - thats just nit-picking - to answer the question, i answered it on the other duplicate ticket that i closed a few days ago - i probably should have put that comment on this ticket instead - i believe that you already know the gist if it

http://savannah.nongnu.org/bugs/index.php?62566#comment1

in short, there is really nothing to add to this ticket, precisely WRT the ticket subject: "Update h-client for python3/GTK3", which was not discussed on the mailing list last year - the client was updated for python3/GTK3 then, and the VCS could have been published on savannah then - i held it back, only so that, after the server was stabilized, others may review the conversion from SVN to git eventually, as we did with the server VCS

i suppose it would have removed any confusion, to simply publish the code to savannah then - it was only a precaution; because we were warned that it is difficult to force-push or clobber the VCS, once the repo is seeded; and because we were considering to put the VCS under the h-source project instead - that did not happen, and no one reviewed the conversion; but there was no urgency for the client at that time, so it languished - on biggie :) - i was glad to get a nudge about it this week - lets rock

i have been working on it for a few days now; and i have reviewed all of apteryx's changes - i will push something to savannah this week, whether or not it is ready enough for a release

IIRC, i did not update this ticket yet, because i wanted to verify the problems given:

> - doesn't connect to h-node.org (probably PycURL related)
> - the help buttons are broken (GTK related)
> - selecting devices from the left tab doesn't work


as apteryx assumed, the first one was because i added explicit SSL verify options to the curl requests - the server apparently does not support the 'OCSP' extension; so i just removed that option - the other two GUI-related items work fine on debian unstable - surely, it needs to be tested on different distros; but i dont see any obvious reason why those widgets are not working on a guix system

i had a lot of trouble with the server code though - that has slowed me down more than anything this week - there are several DB columns which are set to 'NOT NULL' with no default; and the server rejects all three of the QEMU devices for that reason - the required fields are unrelated to those devices, so the client does not post them - it probably never did - i would need to build the python2 client to see if it still works - i am going to test the current code with parabola next, with real hardware, and against the public server - its a bit of a mystery ATM - maybe the DB on the public server is actually configured differently

bill-auger <bill_auger>
Group Member
Wed 08 Jun 2022 05:49:00 AM UTC, comment #7: 


comment #6:

>
> comment #3:
> >
> > comment #2:
> > > This is taken care of by https://git.sr.ht/~apteryx/h-client/tree, suggested for merge in https://savannah.nongnu.org/bugs/?62566.
> >
> > Thank you.  IIRC bill-auger also updated h-client:
> >
> > https://lists.nongnu.org/archive/html/h-source-users/2021-07/msg00065.html
> >
> > Do you know the difference between your two versions, and would it be possible for you two to collaborate / combine efforts?
>
> My fork seems more focused on fixing the Python 3 issues that break functionality -- Bill's fork also does some cosmetic (such as standardizing on space vs tab indentation).  In my testing my branch has h-client running without any error in the terminal output, while for Bill's one there remain issues such as:
>
> - doesn't connect to h-node.org (probably PycURL related)
> - the help buttons are broken (GTK related)
> - selecting devices from the left tab doesn't work
>
> So based on this I'd suggest merging my branch first, since it contains less changes, and then rebase Bill's one on top.  This should be easier.


apteryx: thanks for the context and the suggestion.

bill-auger: what do you think about this suggestion?

Yuchen Pei <ycp>
Group administrator
Mon 06 Jun 2022 01:49:14 PM UTC, comment #6: 


comment #3:

>
> comment #2:
> > This is taken care of by https://git.sr.ht/~apteryx/h-client/tree, suggested for merge in https://savannah.nongnu.org/bugs/?62566.
>
> Thank you.  IIRC bill-auger also updated h-client:
>
> https://lists.nongnu.org/archive/html/h-source-users/2021-07/msg00065.html
>
> Do you know the difference between your two versions, and would it be possible for you two to collaborate / combine efforts?


My fork seems more focused on fixing the Python 3 issues that break functionality -- Bill's fork also does some cosmetic (such as standardizing on space vs tab indentation).  In my testing my branch has h-client running without any error in the terminal output, while for Bill's one there remain issues such as:

- doesn't connect to h-node.org (probably PycURL related)
- the help buttons are broken (GTK related)
- selecting devices from the left tab doesn't work

So based on this I'd suggest merging my branch first, since it contains less changes, and then rebase Bill's one on top.  This should be easier.

Thanks!

Maxim Cournoyer <apteryx>
Mon 06 Jun 2022 01:41:46 PM UTC, comment #5: 

comment #4:

> are you certain that guix does not include an os-release file? -
> /etc/os-release is non-standard - the FHS requires the file to
> be at /usr/lib/os-release - /etc/os-release, if present, is
> usually a symlink to ../usr/lib/os-release
>


Yes! I'm on Guix System and there's neither a /usr/lib/os-release nor a /etc/os-release file present.  GNU Guix doesn't follow the FHS in general (for good reasons -- the ability to install each software in its own distinct prefix).  The lack of a /etc/os-release was argued against in the past [0].

[0]  https://issues.guix.gnu.org/34154#1

Thanks!


Maxim Cournoyer <apteryx>
Sun 05 Jun 2022 10:42:35 AM UTC, comment #4: 

are you certain that guix does not include an os-release file? -
/etc/os-release is non-standard - the FHS requires the file to
be at /usr/lib/os-release - /etc/os-release, if present, is
usually a symlink to ../usr/lib/os-release

bill-auger <bill_auger>
Group Member
Fri 03 Jun 2022 08:48:49 AM UTC, comment #3: 


comment #2:

>
> original submission:
> > The h-client does not work with the current arrangement of pygtk, which is part of pygobject (https://pygobject.readthedocs.io/en/latest/), therefore it needs to be updated.
>
> This is taken care of by https://git.sr.ht/~apteryx/h-client/tree, suggested for merge in https://savannah.nongnu.org/bugs/?62566.


Thank you.  IIRC bill-auger also updated h-client:

https://lists.nongnu.org/archive/html/h-source-users/2021-07/msg00065.html

Do you know the difference between your two versions, and would it be possible for you two to collaborate / combine efforts?

Also as some context I have not maintained / worked on the code of h-client.  I've been meaning to look into it, but just maintaining the server program properly would take up more time than I can afford at this moment.

>
> Thanks!
>
> Maxim
>

Yuchen Pei <ycp>
Group administrator
Thu 02 Jun 2022 07:48:08 PM UTC, comment #2: 


original submission:

> The h-client does not work with the current arrangement of pygtk, which is part of pygobject (https://pygobject.readthedocs.io/en/latest/), therefore it needs to be updated.


This is taken care of by https://git.sr.ht/~apteryx/h-client/tree, suggested for merge in https://savannah.nongnu.org/bugs/?62566.

Thanks!

Maxim

Maxim Cournoyer <apteryx>
Mon 02 Aug 2021 12:45:20 AM UTC, comment #1: 

[H-source-users] adapting h-client for python3/GTK3:
https://lists.nongnu.org/archive/html/h-source-users/2021-07/msg00065.html

Yuchen Pei <ycp>
Group administrator
Mon 19 Jul 2021 03:53:07 AM UTC, original submission:  

The h-client does not work with the current arrangement of pygtk, which is part of pygobject (https://pygobject.readthedocs.io/en/latest/), therefore it needs to be updated.

Yuchen Pei <ycp>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by bill_auger (Updated the item)
  • -email is unavailable- added by apteryx (Posted a comment)
  • -email is unavailable- added by ycp (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2022-06-14 ycp Open/ClosedOpen Closed
    2022-06-09 bill_auger StatusNeed Info Ready For Test
        Assigned toNone bill_auger
    2022-06-05 bill_auger SummaryUpdate h-client Update h-client for python3/GTK3
    2022-06-03 ycp StatusNone Need Info

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code