User Tools

Site Tools


Sidebar

software:switch:fedora_packaging_test

What is this?

An attempt to package as much as possible of the files of Fedora/switch. Could make deployment easier, replaying versions, rollbacks.

Simple packaging setup

I use noarch for building. One can build the rpms for example on Fedora/x86_64 or rhel7/x86_64 and later install them on switch/aarch64. Used a KVM guest with RHEL7 for the following.

### acting as root
[root@rhel7u4a ~]# yum -y install rpm-build
[root@rhel7u4a ~]# useradd -m chris
[root@rhel7u4a ~]# su - chris

### acting as user from here.
[chris@rhel7u4a ~]$ echo '%_topdir /home/chris/rpmbuild' >~/.rpmmacros
[chris@rhel7u4a ~]$ mkdir -p ~/rpmbuild/SPECS
[chris@rhel7u4a ~]$ cd ~/rpmbuild

# creating a sample specfile
[chris@rhel7u4a rpmbuild]$ cat >SPECS/test.spec<<EOT
Name: test
Version: 0.1
Release: 1
License: GPL2
Group: Applications/System
BuildArch: noarch
Summary: test for packaging files

%description
Brief description of software package.

%prep

%build

%install
mkdir -p %{buildroot}/usr/dir1
cp ./usr/dir1/* %buildroot/usr/dir1/

%clean

%files
/usr/*
EOT

# deploying example files to package
[chris@rhel7u4a rpmbuild]$ mkdir -p BUILD/usr/dir1
[chris@rhel7u4a rpmbuild]$ echo hugo >BUILD/usr/dir1/file0

# building
[chris@rhel7u4a rpmbuild]$ rpmbuild -bb SPECS/test.spec
[..]
Wrote: /home/chris/rpmbuild/RPMS/noarch/test-0.1-1.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.GUsgLG
+ umask 022
+ cd /home/chris/rpmbuild/BUILD
+ exit 0
[chris@rhel7u4a rpmbuild]$

### as root
[root@rhel7u4a rpmbuild]# rpm -ivh /home/chris/rpmbuild/RPMS/noarch/test-0.1-1.noarch.rpm
[root@rhel7u4a rpmbuild]# rpm -ql test

advanced

%pre    executed just before the package is installed on the target system.
%post   executed just after the package is installed on the target system.
%preun  executed just before the package is uninstalled from the target system.
%postun executed just after the package is uninstalled from the target system.
software/switch/fedora_packaging_test.txt ยท Last modified: 2019/08/31 04:47 by chris