Project

General

Profile

Actions

Feature #20775

open

Gemify win32-registry, win32-sspi and win32-resolv

Added by larskanis (Lars Kanis) 5 days ago. Updated 3 days ago.

Status:
Assigned
Target version:
-
[ruby-core:119390]

Description

Many libraries bundled with ruby have been gemified and were separated into it's own repository.
Not so far the 3 win32 libraries: https://github.com/ruby/ruby/tree/master/ext/win32/lib/win32

  • win32/registry
  • win32/resolv
  • win32/sspi

win32-registry

I started with win32/registry in https://github.com/larskanis/win32-registry

  • separate all commit into it's own repository,
  • make it a gem,
  • add proper test cases to verify the core functions,
  • add a GHA workflow to run the tests,
  • add a single commit to change to consistent UTF-8 string output (see https://bugs.ruby-lang.org/issues/20774)

My intention is that the repository can be moved to https://github.com/ruby/win32-registry and can be integrated it into ruby.
However I think win32/registry should permanently stay a bundled gem, since the registry access is a core functionality on Windows, so it should always be in the core ruby distribution.

win32-sspi

Regarding win32/sspi I doubt that anyone is using this library.
It was completely broken since ruby-3.0 until some days ago due to this fix: https://github.com/ruby/ruby/commit/fc2f196cb8542a81bf271cdb90e0189c54321103
Nevertheless it makes sense to gemify it and to move it to it's own repository.
I use a massively extended version of this file at work, maybe this can be included then.
IMHO there's no need to keep it in the ruby distribution.

win32-resolv

I don't have a strong opinion reg. win32/resolv and never had a reason to use this platform dependent API instead of the cross platform functions in the socket library.
Maybe it had a use in the past.

Updated by nobu (Nobuyoshi Nakada) 5 days ago

win32/sspi

I'd propose to just drop it.
It has been unmaintained for years, not only A you mentioned (e.g., Fixnum), but no body noticed it.

win32/resolve

it is included in ruby/resolv already.
https://github.com/ruby/resolv/pull/54

Updated by hsbt (Hiroshi SHIBATA) 5 days ago ยท Edited

  • Status changed from Open to Assigned
  • Assignee set to hsbt (Hiroshi SHIBATA)

win32-registry

I agreed your proposal.

@nobu (Nobuyoshi Nakada) Do you have any concern?

win32-sspi

I'm +1 to @nobu's opinion. we should remove it from ruby/ruby.

win32-resolv

As nobu said, we already bundled it to resolv gem.

Updated by hsbt (Hiroshi SHIBATA) 5 days ago

My intention is that the repository can be moved to https://github.com/ruby/win32-registry and can be integrated it into ruby.

Can you add my GitHub account (hsbt) to that repository as admin? After that, I will transfer to under the Ruby org.

Updated by hsbt (Hiroshi SHIBATA) 5 days ago

@larskanis (Lars Kanis) Thanks to invite me for https://github.com/larskanis/win32-registry. But I can't see Settings tab yet. Can you make me admin of that repository?

I consider to extract net-http-sspi from win32/sspi with nobu because win32/sspi only called by net-http.

Updated by larskanis (Lars Kanis) 5 days ago

@hsbt (Hiroshi SHIBATA) I had to move the repository to an organization, in order to give you admin access. The new address is: https://github.com/oneclick/win32-registry

Updated by hsbt (Hiroshi SHIBATA) 5 days ago

Thanks! I transferred it to https://github.com/ruby/win32-registry. I keep you as admin on ruby/win32-registry.

Updated by nobu (Nobuyoshi Nakada) 5 days ago

The test file in https://github.com/larskanis/win32-registry seems quite different from the one in ruby/ruby.
Is it intentional?

Updated by larskanis (Lars Kanis) 5 days ago

The test file in https://github.com/larskanis/win32-registry seems quite different from the one in ruby/ruby.

Oh this is new! I created the win32-registry repository 10 months ago, when your test wasn't written. So I wrote my own. I'll merge them.

Updated by larskanis (Lars Kanis) 5 days ago

I opened a pull request to merge nobu's and my tests together: https://github.com/ruby/win32-registry/pull/3

@hsbt (Hiroshi SHIBATA) You left me as the only maintainer for win32-registry. Is it expected that I maintain this library from now on?
How about the integration into ruby/ruby - do I have to do anything to support this?
I'm new to maintaining an official ruby stdlib library, so please tell me if I do anything wrong.

Updated by hsbt (Hiroshi SHIBATA) 3 days ago

I prepared to sync ruby/ruby and ruby/win32-registry.

I found some question for your changes. Can you look https://github.com/ruby/win32-registry/pull/5 ?

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0