From 881eba28e765169051c04f32a8451a7f2c45f405 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Fri, 20 Mar 2026 08:02:13 +0000 Subject: automatic import of google-compute-engine-oslogin --- .gitignore | 1 + google-compute-engine-oslogin.spec | 133 +++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 135 insertions(+) create mode 100644 google-compute-engine-oslogin.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..ad39197 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/google-compute-engine-oslogin_20260227.00.orig.tar.gz diff --git a/google-compute-engine-oslogin.spec b/google-compute-engine-oslogin.spec new file mode 100644 index 0000000..b01e894 --- /dev/null +++ b/google-compute-engine-oslogin.spec @@ -0,0 +1,133 @@ +# Copyright 2017 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# For EL7, if building on CentOS, override dist to be el7. +%if 0%{?rhel} == 7 + %define dist .el7 +%endif + +%define _version 20260227.00 + +Name: google-compute-engine-oslogin +Epoch: 1 +Version: %{_version} +Release: g1%{?dist} +Summary: OS Login Functionality for Google Compute Engine + +License: ASL 2.0 +Source0: %{name}_%{version}.orig.tar.gz +Requires: google-guest-agent >= 1:20231003 +%if 0%{?rhel} == 8 +Requires: openssh-server >= 8.0p1-15 +%else +Requires: openssh-server >= 8.2p1 +%endif + +BuildRequires: boost-devel +BuildRequires: gcc-c++ +BuildRequires: make +BuildRequires: libcurl-devel +BuildRequires: json-c-devel +BuildRequires: pam-devel +BuildRequires: policycoreutils +BuildRequires: checkpolicy +BuildRequires: systemd + +Requires: boost-regex +Requires: json-c +Requires: policycoreutils + +%description +This package contains several libraries and changes to enable OS Login functionality +for Google Compute Engine. + +%global debug_package %{nil} +%global _use_internal_dependency_generator 0 +%global __find_requires_orig %{__find_requires} +%define __find_requires %{_builddir}/%{?buildsubdir}/find-requires %{__find_requires_orig} + +%prep +%setup + +%build +chmod +x find-requires +make %{?_smp_mflags} LDLIBS="-lcurl -ljson-c -lboost_regex" + +%install +rm -rf %{buildroot} +make install DESTDIR=%{buildroot} LIBDIR=/%{_lib} VERSION=%{version} INSTALL_SELINUX=y + +%files +%doc +/%{_lib}/libnss_oslogin-%{version}.so +/%{_lib}/libnss_cache_oslogin-%{version}.so +/%{_lib}/libnss_oslogin.so.2 +/%{_lib}/libnss_cache_oslogin.so.2 +/%{_lib}/security/pam_oslogin_admin.so +/%{_lib}/security/pam_oslogin_login.so +/usr/bin/google_authorized_keys +/usr/bin/google_authorized_keys_sk +/usr/bin/google_authorized_principals +/usr/bin/google_oslogin_nss_cache +/usr/share/selinux/packages/oslogin.pp +%{_mandir}/man8/nss-oslogin.8.gz +%{_mandir}/man8/libnss_oslogin.so.2.8.gz +%{_mandir}/man8/nss-cache-oslogin.8.gz +%{_mandir}/man8/libnss_cache_oslogin.so.2.8.gz +/lib/systemd/system/google-oslogin-cache.service +/lib/systemd/system/google-oslogin-cache.timer +/lib/systemd/system-preset/90-google-compute-engine-oslogin.preset +/var/google-users.d/README + +%post +if [ $1 -eq 1 ]; then + # Initial installation + systemctl enable google-oslogin-cache.timer >/dev/null 2>&1 || : + + if [ -d /run/systemd/system ]; then + systemctl daemon-reload >/dev/null 2>&1 || : + systemctl start google-oslogin-cache.timer >/dev/null 2>&1 || : + fi +fi + +/sbin/ldconfig + +echo "Installing SELinux module for OS Login." +semodule -i /usr/share/selinux/packages/oslogin.pp +if [ -e /var/google-sudoers.d ]; then + restorecon -r /var/google-sudoers.d +fi +if [ -e /var/google-users.d ]; then + restorecon -r /var/google-users.d +fi + +%preun +%systemd_preun google-oslogin-cache.timer + +# This is only relevant on EL7. +%if 0%{?rhel} == 7 +%postun +%systemd_postun +%endif + +/sbin/ldconfig +if [ $1 = 0 ]; then # This is an uninstall. + if semodule -l|grep -qi oslogin; then + echo "Removing SELinux module for OS Login." + semodule -r oslogin + fi +fi + + +%changelog diff --git a/sources b/sources new file mode 100644 index 0000000..384f21b --- /dev/null +++ b/sources @@ -0,0 +1 @@ +d9491ac20892d9fd16b3f9cdd66b4a53 google-compute-engine-oslogin_20260227.00.orig.tar.gz -- cgit v1.2.3