From 88e33a86bb1a9972ff86ac33cb0c352d2bd8b6cf Mon Sep 17 00:00:00 2001 From: Kris Lamoureux Date: Thu, 21 Apr 2022 01:23:57 -0400 Subject: [PATCH] testing --- build.sh | 24 ++++++++++++++++++------ src/RHEL/helloworld.spec | 0 src/helloworld.spec | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 6 deletions(-) delete mode 100644 src/RHEL/helloworld.spec create mode 100644 src/helloworld.spec diff --git a/build.sh b/build.sh index 5edbb24..0fc2182 100755 --- a/build.sh +++ b/build.sh @@ -17,7 +17,7 @@ BUILDDIR="$TEMPDIR/${PACKAGE}_$VERSION-$REVISION" # 2 = rocky/centos/rhel function check_distro { if [ -f /etc/debian_version ]; then echo 1 - elif [ -f /etc/rocky-release ] || [ -f /etc/centos-release ]; then echo 2 + elif [ -f /etc/redhat-release ]; then echo 2 else echo 0 fi } @@ -37,7 +37,18 @@ function build_deb { # Build redhat package function build_rpm { + EL_VER="$(uname -r | awk 'match($0,/el[0-9]/) {print substr($0, RSTART, RLENGTH)}')" [ $INSTALL -eq 1 ] && rhel_headers + yum install -y rpm-build rpmdevtools rpmlint + rpmdev-setuptree + mkdir -p "$BUILDDIR/${PACKAGE}-${VERSION}" + cp -r $SRCDIR/* "$BUILDDIR/${PACKAGE}-${VERSION}" + rm -rf ~/rpmbuild/SOURCES/$PACKAGE-$VERSION.tar.gz + (cd $BUILDDIR && + tar -czvf ~/rpmbuild/SOURCES/$PACKAGE-$VERSION.tar.gz $PACKAGE-$VERSION) + cp $SRCDIR/$PACKAGE.spec ~/rpmbuild/SPECS/ + rpmlint ~/rpmbuild/SPECS/$PACKAGE.spec && + rpmbuild -bb ~/rpmbuild/SPECS/$PACKAGE.spec } # Display details on module @@ -58,8 +69,8 @@ function debian_headers { # Install Linux headers for current rhel kernel function rhel_headers { - VERSION="$(uname -r | rev | cut -d '.' -f 2- | rev)" - yum install -y kernel-headers-"$VERSION" + KERNEL_VERSION="$(uname -r | rev | cut -d '.' -f 2- | rev)" + yum install -y kernel-headers-"$KERNEL_VERSION" kernel-devel } # Find GNU/Linux distribution @@ -94,8 +105,9 @@ else apt-get install -y "./${PACKAGE}_$VERSION-$REVISION.deb" elif [ $DISTRO -eq 2 ]; then build_rpm - echo "end of debug: exiting..." - exit 0 - yum install -y "./${PACKAGE}_$VERSION-$REVISION.rpm" + yum install -y epel-release + yum install -y dkms + rpm -i "~/rpmbuild/RPMS/noarch/$PACKAGE-$VERSION-$REVISION.$EL_VER.noarch.rpm" fi + info_mod fi diff --git a/src/RHEL/helloworld.spec b/src/RHEL/helloworld.spec deleted file mode 100644 index e69de29..0000000 diff --git a/src/helloworld.spec b/src/helloworld.spec new file mode 100644 index 0000000..9e51ddf --- /dev/null +++ b/src/helloworld.spec @@ -0,0 +1,37 @@ +Name: helloworld +Version: 0.1 +Release: 1%{?dist} +Summary: hello, world +BuildArch: noarch + +License: 0BSD +Source0: %{name}-%{version}.tar.gz +Requires: dkms + +%description +hello, world example + +%prep +%setup -q +%build +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT/%{_usrsrc}/%{name}-%{version} +mkdir -p $RPM_BUILD_ROOT/etc +cp -r usr/src/* $RPM_BUILD_ROOT/%{_usrsrc}/%{name}-%{version} +cp -r etc/* $RPM_BUILD_ROOT/etc + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%{_usrsrc}/%{name}-%{version}/dkms.conf +%{_usrsrc}/%{name}-%{version}/helloworld.c +%{_usrsrc}/%{name}-%{version}/Makefile +/etc/modules-load.d/%{name}.conf + +%post +dkms add -m %{name} -v %{version} +dkms build -m %{name} -v %{version} +dkms install -m %{name} -v %{version} +modprobe %{name}