profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/didrocks/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Didier Roche didrocks Canonical Lyon (France) https://didrocks.fr Senior developer, Golang addict, archive admin, working on Ubuntu at @canonical.

canonical/subiquity 279

Ubuntu Server Installer

canonical/ubuntu-wsl-integration 15

Ubuntu WSL Integrations

canonical/ubuntu-wsl-oobe 6

Ubuntu WSL Onboarding Experience

didrocks/canonical-ubuntu-html5-slidedeck 3

Canonical and Ubuntu HTML5 slidedeck (derived from Google I/O ones)

didrocks/dart-polymer-dart-examples 1

Polymer.dart, Web Components, and Dart.

didrocks/go-grpc-middleware 1

Golang gRPC Middlewares: interceptor chaining, auth, logging, retries and more.

didrocks/appstream-dep11 0

Python module to handle Debian DEP-11 metadata

didrocks/asciinema-local-server 0

Asciinema Local NodeJS Server

pull request commentubuntu/WSL

Allow per application override

yeah, it was due to the old branch name, but not linked to that one. Thanks!

didrocks

comment created time in an hour

PR opened ubuntu/WSL

Reviewers
Adjust wsl-setup path

It was wrongly shipped in /usr/lib/libexec instead of /usr/libexec.

+1 -1

0 comment

1 changed file

pr created time in an hour

create barnchubuntu/WSL

branch : fix-wsl-setup-path

created branch time in an hour

delete branch ubuntu/WSL

delete branch : allow_package_override

delete time in 2 hours

pull request commentubuntu/WSL

Allow per application override

Rebased and pushed. Note that I added one commit (https://github.com/ubuntu/WSL/pull/54/commits/abbdf06f3bdfec45a03b07f3dd15bb88b9a4c563) compared to your review for adjusting paths when detecting any changes that needs a build.

didrocks

comment created time in 2 hours

push eventubuntu/WSL

Didier Roche

commit sha 0a98f266fe6f7c0e6a0642c54fe2d279295e1f28

Refactor GetPath method with better description and usage Rename and adjust it, so that we always reference the meta directory as being the root of the project.

view details

Didier Roche

commit sha 910d3de1ca6ed6c3cc70f346aac536a673b8299c

Implement multi-layers per application override. This supports the new layout with: - base directory from project - meta/src, override common to all applications - meta/<app_id>/src, override for a specific application Output is in meta/<app_id>/generated. This is the new directory used as a base when preparing a project to build and publish.

view details

Didier Roche

commit sha abbdf06f3bdfec45a03b07f3dd15bb88b9a4c563

Adapt regeneration path detection

view details

push time in 2 hours

create barnchubuntu/WSL

branch : allow_package_override

created branch time in 2 hours

Pull request review commentubuntu/WSL

Allow per application override

 import ( 	"path/filepath" ) -// GetPathWith returns the parent directory containing <subdirectory>. It goes up from+// GetPath returns the first directory to <subdirectory>. It goes up from

agreed, that’s more understandable that way, changing

didrocks

comment created time in 2 hours

PullRequestReviewEvent

created tagubuntu/wsl-setup

tagv0.1.1

WSL setup starts the setup and reconfigure GUI or TUI

created time in 6 hours

push eventubuntu/wsl-setup

Didier Roche

commit sha ab98447a1fb12a067f23328a6f5d25b8e8fe2d6b

Ship to correct libexec directory

view details

Didier Roche

commit sha 60d7fa7f5689e1a96ac827a89fda8f739ce40258

releasing package wsl-setup version 0.1.1

view details

push time in 6 hours

PR opened ubuntu/WSL

Reviewers
Allow per application override

Implement multi-layers per application override.

This supports a new layout with:

base directory from project meta/src, override common to all applications meta/<app_id>/src, override for a specific application Output is in meta/<app_id>/generated. This is the new directory used as a base when preparing a project to build and publish.

Most of the directories has thus been moved. There is no more magic image or store subdirectories. We only special case png generation from svg.

As you can see, the assets have been properly moved and there is no change compared to base package once the generation has been rerun: https://github.com/ubuntu/WSL/actions/runs/1393547473.

Here is a build without upload (as no artifacts has changed: https://github.com/ubuntu/WSL/actions/runs/1393584953)

Note: opening a new PR as renaming a branch closed previous one (the branch is seen as deleted). Sorry for the spam!

+187 -136

0 comment

272 changed files

pr created time in 7 hours

PR closed ubuntu/WSL

Reviewers
Allow per application override

Implement multi-layers per application override.

This supports a new layout with:

  • base directory from project
  • meta/src, override common to all applications
  • meta/<app_id>/src, override for a specific application

Output is in meta/<app_id>/generated. This is the new directory used as a base when preparing a project to build and publish.

Most of the directories has thus been moved. There is no more magic image or store subdirectories. We only special case png generation from svg.

As you can see, the assets have been properly moved and there is no change compared to base package once the generation has been rerun: https://github.com/ubuntu/WSL/actions/runs/1393547473.

Here is a build without upload (as no artifacts has changed: https://github.com/ubuntu/WSL/actions/runs/1393584953)

+187 -136

0 comment

272 changed files

didrocks

pr closed time in 7 hours

create barnchubuntu/WSL

branch : allow_package_override-deeng-122

created branch time in 7 hours

delete branch ubuntu/WSL

delete branch : allow_package_override

delete time in 7 hours

PR opened ubuntu/WSL

Allow per application override

Implement multi-layers per application override.

This supports a new layout with:

  • base directory from project
  • meta/src, override common to all applications
  • meta/<app_id>/src, override for a specific application

Output is in meta/<app_id>/generated. This is the new directory used as a base when preparing a project to build and publish.

Most of the directories has thus been moved. There is no more magic image or store subdirectories. We only special case png generation from svg.

+187 -136

0 comment

272 changed files

pr created time in 8 hours

create barnchubuntu/WSL

branch : allow_package_override

created branch time in 8 hours

issue commentubuntu/zsys

Manage custom Zpool with Zsys

I’m .not Sorry, indeed, I checked the code again and only persistent datasets are supported in split hierarchy right now for performance reasons (avoiding enumerating all datasets).

loxK

comment created time in 3 days

push eventubuntu/WSL

Carlos Nihelton

commit sha 190093ac29170463ac92e9f8639cc3352e76fc3d

Acquire user name and locale from Win32 APIs. - Implemented but not integrated with the launcher code yet.

view details

Carlos Nihelton

commit sha 5922463cbe0c063c3712e928a4d3e724385b853b

Passing Windows info to the OOBE now works.

view details

Carlos Nihelton

commit sha 8fa5c88593d3c281838d57825ce3c515831d0c16

Kept if-clauses formatting uniform.

view details

Didier Roche

commit sha c878734f5b405f691302c3d821bdcb0ff7949051

Merge pull request #47 from CarlosNihelton/ft-prefill Make launcher aware of Windows locale and current user name

view details

push time in 3 days

PR merged ubuntu/WSL

Make launcher aware of Windows locale and current user name

The following improvements are subject to this pull request:

  • Removing full command paths hardcoded in the C++ source to improve testability.

  • Obtaining Windows locale and user name using Win32 API's. Matching with the Ubuntu Installer is done by:

    • Real User Name => EXTENDED_NAME_FORMAT::NameDisplay
    • User Name (unix name) => EXTENDED_NAME_FORMAT::NameSamCompatible (with the domain removed)

    See GetUserNameExW and EXTENDED_NAME_FORMAT docs for further reference

  • Shared the above mentioned information with Ubuntu OOBE.

  • Moved code related to OOBE to it's own file because of the growth imposed by the changes mentioned above. This affects the headers inside meta/* subfolders.

+247 -68

3 comments

7 changed files

CarlosNihelton

pr closed time in 3 days

pull request commentubuntu/WSL

Make launcher aware of Windows locale and current user name

Let’s merge it then.

CarlosNihelton

comment created time in 3 days

pull request commentubuntu/WSL

Decouple artifacts saving from distribution

Build with annotation: https://github.com/ubuntu/WSL/actions/runs/1380636643 Wiki updated with 22.04: https://github.com/ubuntu/WSL/wiki

didrocks

comment created time in 3 days

PR opened ubuntu/WSL

Decouple artifacts saving from distribution

This handles bootstrapping a new package, like 22.04, which had no build-id, but we should still store this first submission which will be uploaded.

+9 -2

0 comment

1 changed file

pr created time in 3 days

push eventubuntu/WSL

Didier Roche

commit sha 9fea25a4d018a81df98d8023d6b49cd58028ea09

Decouple artifacts saving from distribution This handles bootstrapping a new package, like 22.04, which had no build-id, but we should still store this first submission which will be uploaded.

view details

push time in 3 days

create barnchubuntu/WSL

branch : bootstrap-new-release

created branch time in 3 days

Pull request review commentubuntu/WSL

Make launcher aware of Windows locale and current user name

+//+//    Copyright: 2021, Canonical Ltd.+//  License: GPL-3+//  This program is free software : you can redistribute itand /or modify+//  it under the terms of the GNU General Public License as published by+//  the Free Software Foundation, either version 3 of the License.+//  .+//  This program is distributed in the hope that it will be useful,+//  but WITHOUT ANY WARRANTY; without even the implied warranty of+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the+//  GNU General Public License for more details.+//  .+//  You should have received a copy of the GNU General Public License+//  along with this program.If not, see < https://www.gnu.org/licenses/>.+//  .+//  On Debian systems, the complete text of the GNU General+//  Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".+//++// Holds together the user information retrieved from Win32 API's.++#include "stdafx.h"++namespace DistributionInfo {++	namespace { // Because I don't like exporting what seems to be internal.+		// Saves Windows information to supply to the OOBE.+		// Returns empty string if we fail to generate the prefill file+		// or the postfix to be added to the OOBE command line.+		std::wstring PreparePrefillInfo() {+			std::wstring commandLine;+			std::wstring prefillInfo = DistributionInfo::GetPrefillInfoInYaml();+			if (!prefillInfo.empty()) {+				// Write it to a file inside \\wsl$ distro filesystem.        +				const std::wstring prefillFileNameDest = L"/var/tmp/prefill-system-setup.yaml";+				const std::wstring wslPrefix = L"\\\\wsl$\\" + DistributionInfo::Name;+				std::wofstream prefillFile;+				// Glad that mixing slashes and backslashes that way is not a problem in Windows.+				prefillFile.open(wslPrefix + prefillFileNameDest, std::ios::ate);+				prefillFile << prefillInfo;+				prefillFile.close();+				if (!prefillFile.fail()) // updating the command line if file was written.+					commandLine += L" --prefill=" + prefillFileNameDest;+			}+			return commandLine;+		} // std::wstring DistributionInfo::PreparePrefillInfo().++		+	} // namespace.++	ULONG DistributionInfo::OOBE()+	{+		ULONG uid = UID_INVALID;++		// calling the oobe experience+		DWORD exitCode;++		// Prepare prefill information to send to the OOBE.+		std::wstring prefillCLIPostFix = DistributionInfo::PreparePrefillInfo();++		// Flutter installer is called ubuntu_wsl_setup in its repo. I'm assuming it will be found inside PATH+		std::wstring commandLine = DistributionInfo::OOBE_NAME + prefillCLIPostFix;++		HRESULT hr = g_wslApi.WslLaunchInteractive(commandLine.c_str(), true, &exitCode);+		if ((FAILED(hr)) || (exitCode != 0)) {+			return uid;+		}++		hr = g_wslApi.WslLaunchInteractive(L"clear", true, &exitCode);+		if (FAILED(hr)) {+			return uid;+		}++		// getting username from ouput+		// Create a pipe to read the output of the launched process.+		HANDLE readPipe;+		HANDLE writePipe;+		SECURITY_ATTRIBUTES sa{ sizeof(sa), nullptr, true };+		if (CreatePipe(&readPipe, &writePipe, &sa, 0)) {+			// Query the UID of the supplied username.+			std::wstring command = L"cat /var/lib/ubuntu-wsl/assigned_account";

ok, I think we should need Patrick’s feedback on this one. I’m 99% positive this is not used anymore.

CarlosNihelton

comment created time in 3 days

PullRequestReviewEvent
PullRequestReviewEvent

pull request commentubuntu/WSL

Make launcher aware of Windows locale and current user name

It looks good. I’m conditionally approved based on getting an answer on the generated file which is not needed anymore IMHO.

CarlosNihelton

comment created time in 3 days

issue closedubuntu/zsys

Manage custom Zpool with Zsys

Hello,

I asked about it on AskUbuntu with no answer, so I am now asking you, the developers.

I have a secondary drive with a zpool. I want some of its datasets to be managed by Zsys (state saving, gc etc.) and assign it to a specific system user. Is it possible ? If so How to do it ?

Regards.

closed time in 3 days

loxK