Compare commits

...

No commits in common. "c8" and "c9s" have entirely different histories.
c8 ... c9s

13 changed files with 216 additions and 36 deletions

View File

@ -0,0 +1 @@
b3b3c304f4d25045c183b1f5ed4aad8a3a98b8f1 filesystem.conf

1
.gitignore vendored
View File

@ -0,0 +1 @@
/filesystem.conf

View File

@ -1,7 +1,7 @@
Summary: The basic directory layout for a Linux system
Name: filesystem
Version: 3.8
Release: 6%{?dist}
Version: 3.16
Release: 2%{?dist}
License: Public Domain
URL: https://pagure.io/filesystem
Group: System Environment/Base
@ -11,6 +11,9 @@ Source3: iso_3166.sed
BuildRequires: iso-codes
Requires(pre): setup
Provides: filesystem-afs = %{version}-%{release}
Obsoletes: filesystem-afs <= 3.14-2
%description
The filesystem package is one of the basic packages that is installed
on a Linux system. Filesystem contains the basic directory layout
@ -26,7 +29,6 @@ This subpackage of filesystem package contains just the file with
the directories owned by the filesystem package. This can be used
during the build process instead of calling rpm -ql filesystem.
%prep
rm -f $RPM_BUILD_DIR/filelist
@ -40,11 +42,11 @@ install -p -c -m755 %SOURCE3 %{buildroot}/iso_3166.sed
cd %{buildroot}
mkdir -p boot dev \
etc/{X11/{applnk,fontpath.d},xdg/autostart,opt,pm/{config.d,power.d,sleep.d},xinetd.d,skel,sysconfig,pki,bash_completion.d} \
home media mnt opt proc root run srv sys tmp \
usr/{bin,games,include,%{_lib}/{bpf,games,sse2,tls,X11,pm-utils/{module.d,power.d,sleep.d}},lib/{debug/{.dwz,usr},games,locale,modules,sysimage,sse2},libexec,local/{bin,etc,games,lib,%{_lib}/bpf,sbin,src,share/{applications,man/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x},info},libexec,include,},sbin,share/{aclocal,appdata,applications,augeas/lenses,backgrounds,bash-completion{,/completions,/helpers},desktop-directories,dict,doc,empty,games,gnome,help,icons,idl,info,licenses,man/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x,0p,1p,3p},metainfo,mime-info,misc,omf,pixmaps,sounds,themes,xsessions,X11,wayland-sessions},src,src/kernels,src/debug} \
var/{adm,empty,ftp,gopher,lib/{games,misc,rpm-state},local,log,nis,preserve,spool/{mail,lpd},tmp,db,cache/bpf,opt,games,yp}
mkdir -p afs boot dev \
etc/{X11/{applnk,fontpath.d,xinit/{xinitrc,xinput}.d},xdg/autostart,opt,pm/{config.d,power.d,sleep.d},skel,sysconfig,pki,bash_completion.d,rwtab.d,statetab.d} \
home media mnt opt root run srv tmp \
usr/{bin,games,include,%{_lib}/{bpf,games,X11,pm-utils/{module.d,power.d,sleep.d}},lib/{debug/{.dwz,usr},games,locale,modules,sysimage},libexec,local/{bin,etc,games,lib,%{_lib}/bpf,sbin,src,share/{applications,man/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x},info},libexec,include,},sbin,share/{aclocal,appdata,applications,augeas/lenses,backgrounds,bash-completion{,/completions,/helpers},desktop-directories,dict,doc,empty,games,gnome,help,icons,idl,info,licenses,man/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x,0p,1p,3p},metainfo,mime-info,misc,omf,pixmaps,sounds,themes,xsessions,X11,wayland-sessions},src,src/kernels,src/debug} \
var/{adm,empty,ftp,lib/{games,misc,rpm-state},local,log,nis,preserve,spool/{mail,lpd},tmp,db,cache/bpf,opt,games,yp}
#do not create the symlink atm.
#ln -snf etc/sysconfig etc/default
@ -122,9 +124,6 @@ mkdir -p %{buildroot}/usr/share/filesystem
find %{buildroot} -mindepth 0 | sed -e 's|%{buildroot}|/|' -e 's|//|/|' \
| LC_ALL=C sort | grep -v filesystem >%{buildroot}%{_datadir}/filesystem/paths
%clean
rm -rf %{buildroot}
%pretrans -p <lua>
--# If we are running in pretrans in a fresh root, there is no /usr and
--# symlinks. We cannot be sure, to be the very first rpm in the
@ -155,17 +154,8 @@ posix.symlink("usr/%{_lib}", "/%{_lib}")
posix.mkdir("/run")
posix.mkdir("/proc")
posix.mkdir("/sys")
st = posix.stat("/proc")
if st and st.mode ~= 0555 then
posix.chmod("/proc", 0555)
end
st = posix.stat("/sys")
if st and st.mode ~= 0555 then
posix.chmod("/sys", 0555)
end
posix.chmod("/proc", 0555)
posix.chmod("/sys", 0555)
st = posix.stat("/media")
if st and st.type == "link" then
os.remove("/media")
@ -183,30 +173,34 @@ restorecon /var/lock 2>/dev/null >/dev/null || :
restorecon -r /usr/lib/debug/ 2>/dev/null >/dev/null || :
restorecon /sys 2>/dev/null >/dev/null || :
restorecon /boot 2>/dev/null >/dev/null || :
restorecon /proc 2>/dev/null >/dev/null || :
restorecon /dev 2>/dev/null >/dev/null || :
restorecon /media 2>/dev/null >/dev/null || :
restorecon /afs 2>/dev/null >/dev/null || :
%files content
%dir %{_datadir}/filesystem
%{_datadir}/filesystem/paths
%files -f filelist
%defattr(0755,root,root,0755)
%dir %attr(555,root,root) /
/bin
%attr(555,root,root) /boot
%attr(555,root,root) /afs
/dev
%dir /etc
/etc/X11
/etc/xdg
/etc/opt
/etc/pm
/etc/xinetd.d
/etc/skel
/etc/sysconfig
/etc/pki
/etc/bash_completion.d/
%dir /etc/rwtab.d
%dir /etc/statetab.d
/home
/lib
%ifarch x86_64 ppc64 sparc64 s390x aarch64 ppc64le mips64 mips64el riscv64
@ -216,11 +210,11 @@ restorecon /media 2>/dev/null >/dev/null || :
%dir /mnt
%dir /opt
%ghost %attr(555,root,root) /proc
%ghost %attr(555,root,root) /sys
%attr(550,root,root) /root
/run
/sbin
/srv
%ghost %attr(555,root,root) /sys
%attr(1777,root,root) /tmp
%dir /usr
%attr(555,root,root) /usr/bin
@ -243,13 +237,11 @@ restorecon /media 2>/dev/null >/dev/null || :
%ghost /usr/lib/debug/usr/.dwz
%ghost /usr/lib/debug/sbin
%attr(555,root,root) /usr/lib/games
%attr(555,root,root) /usr/lib/sse2
%ifarch x86_64 ppc64 sparc64 s390x aarch64 ppc64le mips64 mips64el riscv64
%attr(555,root,root) /usr/%{_lib}
%else
%attr(555,root,root) /usr/lib/tls
%attr(555,root,root) /usr/lib/X11
%attr(555,root,root) /usr/lib/bpf
%attr(555,root,root) /usr/lib/X11
%attr(555,root,root) /usr/lib/pm-utils
%endif
/usr/libexec
@ -297,7 +289,6 @@ restorecon /media 2>/dev/null >/dev/null || :
/var/empty
/var/ftp
/var/games
/var/gopher
/var/lib
/var/local
%ghost /var/lock
@ -314,15 +305,44 @@ restorecon /media 2>/dev/null >/dev/null || :
/var/yp
%changelog
* Mon Jun 21 2021 Pavel Zhukov <pzhukov@redhat.com> - 3.8-6
- Make /proc and /sys ghost to workaround issue in container
- Revert restorecon change
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.16-2
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Apr 23 2020 Pavel Zhukov <pzhukov@redhat.com> - 3.8-4
- Do not restore content of /proc (#1827087)
* Tue Aug 3 2021 Pavel Zhukov <pzhukov@redhat.com> - 3.15-1
- Move /afs into main package
* Wed Apr 22 2020 Pavel Zhukov <pavel@desktop.zhukoff.net> - 3.8-3
- Add BPF directories (#1788999)
* Fri Aug 07 2020 Pavel Raiskup <praiskup@redhat.com> - 3.14-4
- /proc and /sys made %%ghost to allow filesystem package updates in rootless
container environments (rhbz#1548403)
* Mon Jan 27 2020 Ondrej Vasik <ovasik@redhat.com> - 3.14-1
- do not restore context of /proc (#1722766)
* Wed Dec 18 2019 Ondrej Vasik <ovasik@redhat.com> - 3.13-1
- add ownership for eBPF bytecode files directories (#1781646)
* Thu Jun 20 2019 David Howells <dhowells@redhat.com> - 3.12-1
- add new -afs supbackage for /afs directory (#FPC888,#1720232)
* Mon Apr 29 2019 Ondrej Vasik <ovasik@redhat.com> - 3.11-1
- drop ownership for /etc/xinet.d (#1691146)
- drop ownership for %{_libdir}/tls, %{_libdir}/sse2 (#1702329)
* Mon Feb 11 2019 Ondrej Vasik <ovasik@redhat.com> - 3.10-1
- drop legacy /var/gopher (#1667231)
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.9-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Jun 21 2018 Ondrej Vasik <ovasik@redhat.com> - 3.9-1
- add ownership of /etc/rwtab.d and /etc/statetab.d
* Tue Feb 20 2018 Adam Jackson <ajax@redhat.com> - 3.8-3
- own /etc/X11/xinit/{,{xinitrc,xinput}.d}
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

9
gating.yaml Normal file
View File

@ -0,0 +1,9 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tedude.validation}

1
sources Normal file
View File

@ -0,0 +1 @@
5f5fdcfaf7d0730bb9546c665b6c769e filesystem.conf

0
tests/README.rst Normal file
View File

View File

@ -0,0 +1,63 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /CoreOS/filesystem/filesystem-should-own-usr-share-licenses
# Description: Test if filesystem owns /usr/share/licenses
# Author: Robin Hack <rhack@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2016 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# 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 http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export TEST=/CoreOS/filesystem/filesystem-should-own-usr-share-licenses
export TESTVERSION=1.0
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
test -x runtest.sh || chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(METADATA): Makefile
@echo "Owner: Robin Hack <rhack@redhat.com>" > $(METADATA)
@echo "Name: $(TEST)" >> $(METADATA)
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
@echo "Path: $(TEST_DIR)" >> $(METADATA)
@echo "Description: Test if filesystem owns /usr/share/licenses" >> $(METADATA)
@echo "Type: Regression" >> $(METADATA)
@echo "TestTime: 20m" >> $(METADATA)
@echo "RunFor: filesystem" >> $(METADATA)
@echo "Requires: filesystem lvm2" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2+" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
rhts-lint $(METADATA)

View File

@ -0,0 +1,4 @@
PURPOSE of /CoreOS/filesystem/filesystem-should-own-usr-share-licenses
Description: Test if filesystem should owns /usr/share/licenses
Author: Robin Hack <rhack@redhat.com>
Bug summary: filesystem should own /usr/share/licenses directory

View File

@ -0,0 +1,53 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/filesystem/filesystem-should-own-usr-share-licenses
# Description: Test if filesystem owns /usr/share/licenses
# Author: Robin Hack <rhack@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2016 Red Hat, Inc.
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation, either version 2 of
# the License, or (at your option) any later version.
#
# 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 http://www.gnu.org/licenses/.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/bin/rhts-environment.sh || exit 1
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGE="filesystem"
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartTest
rlRun -s "LC_ALL=en_US.UTF-8 rpm -qf /usr/share/licenses/"
rlAssertNotGrep "file /usr/share/licenses is not owned by any package" "${rlRun_LOG}"
rlAssertGrep "^filesystem" "${rlRun_LOG}"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

28
tests/tests.yml Normal file
View File

@ -0,0 +1,28 @@
- hosts: localhost
tags:
- classic
roles:
- role: standard-test-beakerlib
tests:
- filesystem-should-own-usr-share-licenses
required_packages:
- filesystem
- lvm2
- hosts: localhost
tags:
- container
roles:
- role: standard-test-beakerlib
tests:
- filesystem-should-own-usr-share-licenses
required_packages:
- filesystem
- lvm2
- hosts: localhost
tags:
- atomic
roles:
- role: standard-test-beakerlib
tests:
- filesystem-should-own-usr-share-licenses