Initial import (rhbz #2342289)
This commit is contained in:
parent
148a880fb5
commit
7fee63c813
0
.gitignore
vendored
Normal file
0
.gitignore
vendored
Normal file
20
LICENSE
Normal file
20
LICENSE
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
Copyright 2025 Fedora Project Authors.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
19
wsl-distribution.conf
Normal file
19
wsl-distribution.conf
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# The /etc/wsl-distribution.conf configuration file.
|
||||||
|
#
|
||||||
|
# This is not intended to be edited by users; it is how WSL discovers
|
||||||
|
# distribution defaults.
|
||||||
|
#
|
||||||
|
# Available configuration options are documented at
|
||||||
|
# https://learn.microsoft.com/en-us/windows/wsl/build-custom-distro
|
||||||
|
|
||||||
|
[oobe]
|
||||||
|
# Command run the first time the user opens an interactive shell.
|
||||||
|
# If the command returns non-zero, it is considered unsuccessful and the
|
||||||
|
# user won't be able to open a shell.
|
||||||
|
command = /usr/libexec/wsl/oobe.sh
|
||||||
|
# Default UID for user the distribution starts with.
|
||||||
|
defaultUid = 1000
|
||||||
|
# Default name the distribution is registered under.
|
||||||
|
# This is used when the user double-clicks to install, or uses
|
||||||
|
# wsl --install --from-file ./Fedora.wsl
|
||||||
|
defaultName = $NAME
|
38
wsl-oobe.sh
Normal file
38
wsl-oobe.sh
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# The Fedora WSL out of box experience script.
|
||||||
|
#
|
||||||
|
# This command runs the first time the user opens an interactive shell.
|
||||||
|
#
|
||||||
|
# A non-zero exit code indicates to WSL that setup failed.
|
||||||
|
|
||||||
|
set -ueo pipefail
|
||||||
|
|
||||||
|
DEFAULT_USER_ID=1000
|
||||||
|
|
||||||
|
echo 'Please create a default user account. The username does not need to match your Windows username.'
|
||||||
|
echo 'For more information visit: https://aka.ms/wslusers'
|
||||||
|
|
||||||
|
if getent passwd $DEFAULT_USER_ID > /dev/null ; then
|
||||||
|
echo 'User account already exists, skipping creation'
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prompt from the username
|
||||||
|
read -r -p 'Enter new UNIX username: ' username
|
||||||
|
|
||||||
|
# Create the user
|
||||||
|
/usr/sbin/useradd -m -G wheel --uid $DEFAULT_USER_ID "$username"
|
||||||
|
|
||||||
|
cat > /etc/sudoers.d/wsluser << EOF
|
||||||
|
# Ensure the WSL initial user can use sudo
|
||||||
|
$username ALL=(ALL) NOPASSWD: ALL
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Set the default user; necessary when this script is manually run in versions
|
||||||
|
# of WSL prior to 2.4.
|
||||||
|
cat >> /etc/wsl.conf << EOF
|
||||||
|
|
||||||
|
[user]
|
||||||
|
default = "$username"
|
||||||
|
EOF
|
58
wsl-setup.spec
Normal file
58
wsl-setup.spec
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
%if 0%{?eln}
|
||||||
|
%define default_name ELN
|
||||||
|
%else
|
||||||
|
%define default_name Fedora
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
Name: wsl-setup
|
||||||
|
Version: 1.0.0
|
||||||
|
Release: %autorelease
|
||||||
|
Summary: Windows Subsystem for Linux setup script and configuration
|
||||||
|
License: MIT
|
||||||
|
URL: https://src.fedoraproject.org/rpms/wsl-setup
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
Source1: LICENSE
|
||||||
|
Source2: wsl.conf
|
||||||
|
Source3: wsl-distribution.conf
|
||||||
|
Source4: wsl-oobe.sh
|
||||||
|
|
||||||
|
|
||||||
|
%description
|
||||||
|
Provides WSL specific configuration files and first-time setup script.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%if 0%{?fedora}
|
||||||
|
sed -i 's,$NAME,Fedora,' %{SOURCE3}
|
||||||
|
%else
|
||||||
|
sed -i 's,$NAME,ELN,' %{SOURCE3}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
install -pm 0644 %{SOURCE1} LICENSE
|
||||||
|
install -Dpm0644 -t %{buildroot}%{_sysconfdir}/ %{SOURCE2}
|
||||||
|
install -Dpm0644 -t %{buildroot}%{_prefix}/lib/ %{SOURCE3}
|
||||||
|
install -Dpm0755 -T %{SOURCE4} %{buildroot}%{_libexecdir}/wsl/oobe.sh
|
||||||
|
ln -s ..%{_prefix}/lib/wsl-distribution.conf %{buildroot}%{_sysconfdir}/wsl-distribution.conf
|
||||||
|
|
||||||
|
|
||||||
|
%check
|
||||||
|
grep "defaultName = %{default_name}" %{buildroot}%{_sysconfdir}/wsl-distribution.conf
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%config(noreplace) %{_sysconfdir}/wsl.conf
|
||||||
|
%{_prefix}/lib/wsl-distribution.conf
|
||||||
|
%{_sysconfdir}/wsl-distribution.conf
|
||||||
|
%{_libexecdir}/wsl/oobe.sh
|
||||||
|
%license LICENSE
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
%autochangelog
|
Loading…
Reference in New Issue
Block a user