Add usbip kernel configs and user space modules (#2341)

This commit is contained in:
chalamalasetty 2022-02-25 12:14:46 -08:00 коммит произвёл GitHub
Родитель e58976d94f
Коммит bdd54e5acd
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
19 изменённых файлов: 309 добавлений и 12 удалений

1
.github/workflows/validate-cg-manifest.sh поставляемый
Просмотреть файл

@ -56,6 +56,7 @@ ignore_list=" \
sgabios \
shim \
verity-read-only-root \
usbip \
web-assets \
xmvn \
xorg-x11-apps \

Просмотреть файл

@ -10,7 +10,7 @@
Summary: Signed Linux Kernel for %{buildarch} systems
Name: kernel-signed-%{buildarch}
Version: 5.15.18.1
Release: 1%{?dist}
Release: 2%{?dist}
License: GPLv2
Vendor: Microsoft Corporation
Distribution: Mariner
@ -153,6 +153,9 @@ ln -sf linux-%{uname_r}.cfg /boot/mariner.cfg
%exclude /module_info.ld
%changelog
* Thu Feb 24 2022 Suresh Babu Chalamalasetty <schalam@microsoft.com> - 5.15.18.1-2
- Bump release number to match kernel release
* Mon Feb 07 2022 Cameron Baird <cameronbaird@microsoft.com> - 5.15.18.1-1
- Update source to 5.15.18.1

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -2192,6 +2192,7 @@
"usb_modeswitch",
"usb_modeswitch-data",
"usbguard",
"usbip",
"usbmuxd",
"usbredir",
"usermode",

Просмотреть файл

@ -1,7 +1,7 @@
Summary: Linux API header files
Name: kernel-headers
Version: 5.15.18.1
Release: 1%{?dist}
Release: 2%{?dist}
License: GPLv2
Vendor: Microsoft Corporation
Distribution: Mariner
@ -37,6 +37,9 @@ cp -rv usr/include/* /%{buildroot}%{_includedir}
%{_includedir}/*
%changelog
* Thu Feb 24 2022 Suresh Babu Chalamalasetty <schalam@microsoft.com> - 5.15.18.1-2
- Bump release number to match kernel release
* Mon Feb 07 2022 Cameron Baird <cameronbaird@microsoft.com> - 5.15.18.1-1
- Update source to 5.15.18.1

Просмотреть файл

@ -5203,7 +5203,12 @@ CONFIG_USB_UAS=m
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USBIP_CORE is not set
CONFIG_USBIP_CORE=m
CONFIG_USBIP_VHCI_HCD=m
CONFIG_USBIP_VHCI_HC_PORTS=8
CONFIG_USBIP_VHCI_NR_HCS=1
CONFIG_USBIP_HOST=m
# CONFIG_USBIP_DEBUG is not set
# CONFIG_USB_CDNS_SUPPORT is not set
# CONFIG_USB_MUSB_HDRC is not set
# CONFIG_USB_DWC3 is not set

Просмотреть файл

@ -7099,7 +7099,12 @@ CONFIG_USB_UAS=m
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USBIP_CORE is not set
CONFIG_USBIP_CORE=m
CONFIG_USBIP_VHCI_HCD=m
CONFIG_USBIP_VHCI_HC_PORTS=8
CONFIG_USBIP_VHCI_NR_HCS=1
CONFIG_USBIP_HOST=m
# CONFIG_USBIP_DEBUG is not set
# CONFIG_USB_CDNS_SUPPORT is not set
# CONFIG_USB_MTU3 is not set
# CONFIG_USB_MUSB_HDRC is not set

Просмотреть файл

@ -1,8 +1,8 @@
{
"Signatures": {
"cbl-mariner-ca-20211013.pem": "5ef124b0924cb1047c111a0ecff1ae11e6ad7cac8d1d9b40f98f99334121f0b0",
"config": "9e15a76c5c92d9608220f7cd6de41460b411bfcce03a68ba53885011e365fef3",
"config_aarch64": "585f4ce6d8fb621003134e3283987281a0f7a745f78d21f33e56d0f7361cd27f",
"config": "42675771f4adc07f63f2aa9116cca0060b7b8a6c6fa3173139829262bd6aaa8c",
"config_aarch64": "cd673a716e09a5f6b40d32c1075e3962c0e1fcfd76ebc29a8d32e5c1b206c1e9",
"kernel-5.15.18.1.tar.gz": "58d148df0da4e9c095b8cd1cefac5669c04af700c7c5fa6bc3cc2a97b60a17c3",
"sha512hmac-openssl.sh": "02ab91329c4be09ee66d759e4d23ac875037c3b56e5a598e32fd1206da06a27f"
}

Просмотреть файл

@ -7,7 +7,7 @@
Summary: Linux Kernel
Name: kernel
Version: 5.15.18.1
Release: 1%{?dist}
Release: 2%{?dist}
License: GPLv2
Vendor: Microsoft Corporation
Distribution: Mariner
@ -384,6 +384,9 @@ ln -sf linux-%{uname_r}.cfg /boot/mariner.cfg
%{_sysconfdir}/bash_completion.d/bpftool
%changelog
* Thu Feb 24 2022 Suresh Babu Chalamalasetty <schalam@microsoft.com> - 5.15.18.1-2
- Add usbip required kernel configs CONFIG_USBIP_CORE CONFIG_USBIP_VHCI_HCD
* Mon Feb 07 2022 Cameron Baird <cameronbaird@microsoft.com> - 5.15.18.1-1
- Update source to 5.15.18.1
- Address CVE-2010-0309, CVE-2018-1000026, CVE-2018-16880, CVE-2019-3016,

19
SPECS/usbip/extract_usbip.sh Executable file
Просмотреть файл

@ -0,0 +1,19 @@
#!/bin/sh
if [ "q$1" == "q" ]; then
echo "Usage: $0 <kernel version>"
exit 1
fi
echo "Extracting linux source"
tar -xvf "$1".tar.gz
if [ "$?" -ne "0" ]; then
echo "Error extracting kernel source"
exit 1
fi
if [ -d "usbip-$1" ]; then
rm -rf "usbip-$1"
fi
mv "CBL-Mariner-Linux-Kernel-rolling-lts-mariner-${1}"/tools/usb/usbip "usbip-$1"
echo "Creating usbip archive"
tar -cJvf "usbip-$1".tar.xz "usbip-$1"
rm -rf "linux-$1"
rm -rf "usbip-$1"

Просмотреть файл

@ -0,0 +1,12 @@
diff -urb usbip-5.5/src/usbip_network.h usbip-5.5b/src/usbip_network.h
--- usbip-5.5/src/usbip_network.h 2020-01-27 00:23:03.000000000 +0000
+++ usbip-5.5b/src/usbip_network.h 2020-02-03 19:55:55.760558946 +0000
@@ -14,6 +14,8 @@
#include <stdint.h>
+#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
+
extern int usbip_port;
extern char *usbip_port_string;
void usbip_setup_port_number(char *arg);

Просмотреть файл

@ -0,0 +1,10 @@
[Unit]
Description=USB/IP client modules
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/sbin/modprobe -qab vhci-hcd
[Install]
WantedBy=multi-user.target

Просмотреть файл

@ -0,0 +1,9 @@
[Unit]
Description=USB/IP server daemon
[Service]
ExecStartPre=/sbin/modprobe -qab usbip_host
ExecStart=/usr/sbin/usbipd
[Install]
WantedBy=multi-user.target

Просмотреть файл

@ -0,0 +1,8 @@
{
"Signatures": {
"usbip-5.15.18.1.tar.xz": "a918cd42c6e3e3b0eb328b8892aeddbd20c31a2d90f4e509a8dc3754425c5b0d",
"usbip-server.service": "68a727d13e270564b5e2c97cad5ccdb97086c4d1065b6ef70205b54769260b0f",
"usbip-client.service": "7b83311e550793014a897b43fe7b4e5339f114924b3d5f52cceb58787fc65008",
"extract_usbip.sh": "08c63ca9002df5e5e9f068719cc8b2e8e3b2c5abd077fab94521bf4117aaaa77"
}
}

218
SPECS/usbip/usbip.spec Normal file
Просмотреть файл

@ -0,0 +1,218 @@
%define _legacy_common_support 1
Name: usbip
Summary: USB/IP user-space
Version: 5.15.18.1
Release: 1%{?dist}
License: GPLv2+
Vendor: Microsoft Corporation
Distribution: Mariner
Group: System/Kernel
#Source: https://github.com/microsoft/CBL-Mariner-Linux-Kernel/archive/rolling-lts/mariner/%{version}.tar.gz
# In the interests of keeping the source rpm from being ridiculously large,
# download the Linux kernel from above and run `extract_usbip.sh <version>`
# in the SOURCE directory.
URL: https://github.com/microsoft/CBL-Mariner-Linux-Kernel
# The kernel modules require working USB and there's no USB for s390x
# See bug #1483403
ExcludeArch: s390x
Source: usbip-%{version}.tar.xz
Source1: usbip-server.service
Source2: usbip-client.service
Source99: extract_usbip.sh
Patch0: usbip-5.5-fix-gcc9.patch
BuildRequires: make
BuildRequires: systemd
BuildRequires: libudev-devel
BuildRequires: libtool autoconf
BuildRequires: kernel-devel
Requires: kernel
Requires: hwdata
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
# Use the same directory of the main package for subpackage licence and docs
%global _docdir_fmt %{name}
%description
USB/IP allows you to share USB devices over a network. With USB/IP, you can
plug a USB device into one computer and use it on a different computer on the
network.
This package contains the user-space tools for USB/IP, both for servers and
clients
%package devel
Summary: USB/IP headers and development libraries
Requires: %{name} = %{version}-%{release}
%description devel
This package contains headers and static libraries for USB/IP user-space
development
%prep
%autosetup -p1
%build
./autogen.sh
%configure --disable-static --with-usbids-dir=%{_datadir}/hwdata
make %{?_smp_mflags}
%install
%make_install
rm -f %{buildroot}%{_libdir}/libusbip*.la
mkdir -p %{buildroot}%{_unitdir}
install -pm 644 %{SOURCE1} %{buildroot}%{_unitdir}
install -pm 644 %{SOURCE2} %{buildroot}%{_unitdir}
%post
%systemd_post usbip-client.service usbip-server.service
%preun
%systemd_preun usbip-client.service usbip-server.service
%postun
%systemd_postun_with_restart usbip-client.service usbip-server.service
%files
%license COPYING
%doc README AUTHORS
%{_sbindir}/*
%{_libdir}/*.so.*
%{_mandir}/man8/*
%{_unitdir}/*
%files devel
%license COPYING
%{_includedir}/*
%{_libdir}/*.so
%changelog
* Thu Feb 24 2022 Suresh Babu Chalamalasetty <schalam@microsoft.com> - 5.15.18.1-1
- Initial CBL-Mariner import from Fedora 36 (license: MIT)
- License verified
- Updated extract_usbip.sh to get sources from Mariner kernel version.
- Added Group and updated URL with CBL-Mariner kernel sources path
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.7.9-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.7.9-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.7.9-4
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.7.9-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.7.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 17 2020 Jonathan Dieter <jdieter@gmail.com> - 5-7.9-1
- Update to 5.7.9 to hopefully fix #1856443
* Mon Feb 03 2020 Jonathan Dieter <jdieter@gmail.com> - 5.5-1
- Update to 5.5
- Work around build failure on GCC 10
- Remove unneeded hardened build flag (since all builds are hardened by default)
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.20.12-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.20.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Feb 25 2019 Jonathan Dieter <jdieter@gmail.com> - 4.20.12-1
- Update to 4.20.12
- Fix build failure on GCC 9.0
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.18.9-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Sep 20 2018 Jonathan Dieter <jdieter@gmail.com> - 4.18.9-1
- Update to 4.18.9
- Add patch to fix problem importing device when another device is in
/sys/devices/platform after vhci (#1631148)
- Fix missing period in patch
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.15.10-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Jun 28 2018 Jonathan Dieter <jdieter@gmail.com> - 4.15.10-2
- Remove unneeded ldconfig scriptlets
* Thu Mar 15 2018 Jonathan Dieter <jdieter@gmail.com> - 4.15.10-1
- Attempt another build after supposed failure the last time
- Update to 4.15.10 to fix GCC 8 build failure
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.14.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Feb 08 2018 Jonathan Dieter <jdieter@gmail.com> - 4.14.11-2
- Remove obsolete Group tag
* Sat Jan 13 2018 Jonathan Dieter <jdieter@lesbg.com> - 4.14.11-1
- Update usbip to 4.14.11
* Fri Jan 12 2018 Zamir SUN <sztsian@gmail.com> - 4.14.0-1
- Update usbip to 4.14.0 (Fixes bug #1533864)
* Sat Aug 26 2017 Jonathan Dieter <jdieter@lesbg.com> - 4.9.9-6
- Exclude s390x because it doesn't support USB
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.9-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.9-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Feb 27 2017 Jonathan Dieter <jdieter@lesbg.com> - 4.9.9-3
- Fix 32-bit build failures
* Mon Feb 20 2017 Jonathan Dieter <jdieter@lesbg.com> - 4.9.9-2
- Add patches to fix continuing build failures with GCC 7
* Sun Feb 12 2017 Jonathan Dieter <jdieter@lesbg.com> - 4.9.9-1
- Update to 4.9.9 with build fixes
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 4.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Apr 25 2016 Jonathan Dieter <jdieter@lesbg.com> - 4.5-1
- Update to 4.5 with very minor fixes
- Add dependency to kernel-modules-extra (fixes #1329313)
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.18-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.18-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Feb 5 2015 - Jonathan Dieter <jdieter@lesbg.com> - 3.18-4
- Fix datadir (#1189855)
- Fix client service type
* Thu Jan 15 2015 - Jonathan Dieter <jdieter@lesbg.com> - 3.18-3
- Improve description
* Wed Jan 14 2015 - Jonathan Dieter <jdieter@lesbg.com> - 3.18-2
- Remove clean section
- Remove defattr in files list
- Use license macro for COPYING
- Use combined doc directory
- Combine systemd macros into one
- Remove /etc/default config file
- Stop rmmoding when services stop
- Remove unneeded After=syslog.target in services
- Update to 3.18
- Replace /usr/share with datadir macro in configure
- Switch to make_install macro
- When manually using install, preserve timestamps
* Tue Dec 16 2014 - Jonathan Dieter <jdieter@lesbg.com> - 3.17-1
- Initial release

Просмотреть файл

@ -1,5 +1,5 @@
filesystem-1.1-8.cm2.aarch64.rpm
kernel-headers-5.15.18.1-1.cm2.noarch.rpm
kernel-headers-5.15.18.1-2.cm2.noarch.rpm
glibc-2.34-2.cm2.aarch64.rpm
glibc-devel-2.34-2.cm2.aarch64.rpm
glibc-i18n-2.34-2.cm2.aarch64.rpm

Просмотреть файл

@ -1,5 +1,5 @@
filesystem-1.1-8.cm2.x86_64.rpm
kernel-headers-5.15.18.1-1.cm2.noarch.rpm
kernel-headers-5.15.18.1-2.cm2.noarch.rpm
glibc-2.34-2.cm2.x86_64.rpm
glibc-devel-2.34-2.cm2.x86_64.rpm
glibc-i18n-2.34-2.cm2.x86_64.rpm

Просмотреть файл

@ -131,7 +131,7 @@ intltool-0.51.0-7.cm2.noarch.rpm
itstool-2.0.6-4.cm2.noarch.rpm
kbd-2.2.0-1.cm2.aarch64.rpm
kbd-debuginfo-2.2.0-1.cm2.aarch64.rpm
kernel-headers-5.15.18.1-1.cm2.noarch.rpm
kernel-headers-5.15.18.1-2.cm2.noarch.rpm
kmod-29-1.cm2.aarch64.rpm
kmod-debuginfo-29-1.cm2.aarch64.rpm
kmod-devel-29-1.cm2.aarch64.rpm

Просмотреть файл

@ -131,7 +131,7 @@ intltool-0.51.0-7.cm2.noarch.rpm
itstool-2.0.6-4.cm2.noarch.rpm
kbd-2.2.0-1.cm2.x86_64.rpm
kbd-debuginfo-2.2.0-1.cm2.x86_64.rpm
kernel-headers-5.15.18.1-1.cm2.noarch.rpm
kernel-headers-5.15.18.1-2.cm2.noarch.rpm
kmod-29-1.cm2.x86_64.rpm
kmod-debuginfo-29-1.cm2.x86_64.rpm
kmod-devel-29-1.cm2.x86_64.rpm