Skip to content

Commit

Permalink
Fedora build, plus old build cleanup.
Browse files Browse the repository at this point in the history
  • Loading branch information
cerebrate committed Mar 5, 2022
1 parent b7389bb commit fde0cc8
Show file tree
Hide file tree
Showing 9 changed files with 68 additions and 147 deletions.
18 changes: 16 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,19 @@ clean-arch:
rm -rf $(PWD)/genie
rm -rf out/arch

package-fedora: genie_version := $(shell rpmspec -q --qf %{Version} --srpm genie.spec)

package-fedora:
rpmdev-setuptree
tar zcvf $(shell rpm --eval '%{_sourcedir}')/genie-${genie_version}.tar.gz * --dereference --transform='s/^/genie-${genie_version}\//'
fakeroot rpmbuild -ba -v genie.spec
mkdir -p out/fedora
mv $(shell rpm --eval '%{_rpmdir}')/x86_64/genie* out/fedora

clean-fedora:
rpmdev-wipetree
rm -rf out/fedora

# Internal packaging functions

internal-debian-package:
Expand Down Expand Up @@ -138,8 +151,9 @@ internal-supplement:
# Fixup symbolic links
mkdir -p $(ENVGENDIR)
mkdir -p $(USRENVGENDIR)
ln -s $(INSTALLDIR)/80-genie-envar.sh $(ENVGENDIR)/80-genie-envar.sh
ln -s $(INSTALLDIR)/80-genie-envar.sh $(USRENVGENDIR)/80-genie-envar.sh
ln -sr $(INSTALLDIR)/80-genie-envar.sh $(ENVGENDIR)/80-genie-envar.sh
ln -sr $(INSTALLDIR)/80-genie-envar.sh $(USRENVGENDIR)/80-genie-envar.sh
ln -sr $(SVCDIR)/wslg-xwayland.socket $(SVCDIR)/sockets.target.wants/wslg-xwayland.socket

# Man page.
# Make sure directory exists.
Expand Down
6 changes: 3 additions & 3 deletions binsrc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ build-wrapper:

build-runinwsl:
mkdir -p out
python -m zipapp -o out/runinwsl -p "/usr/bin/env python3" -c runinwsl
python3 -m zipapp -o out/runinwsl -p "/usr/bin/env python3" -c runinwsl

build-genie:
mkdir -p out
python -m pip install -r genie/requirements.txt --target genie --upgrade
python -m zipapp -o out/genie -p "/usr/bin/env python3" -c genie
python3 -m pip install -r genie/requirements.txt --target genie --upgrade
python3 -m zipapp -o out/genie -p "/usr/bin/env python3" -c genie

#
# clean: clean up after a build/package
Expand Down
1 change: 1 addition & 0 deletions debian/systemd-genie.links
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
/usr/lib/genie/80-genie-envar.sh /usr/lib/systemd/system-environment-generators/80-genie-envar.sh
/usr/lib/genie/80-genie-envar.sh /usr/lib/systemd/user-environment-generators/80-genie-envar.sh
/usr/lib/systemd/system/wslg-xwayland.socket /usr/lib/systemd/system/sockets.target.wants/wslg-xwayland.socket
82 changes: 48 additions & 34 deletions pending/package/fedora/genie.spec → genie.spec
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
%global project https://github.com/arkane-systems/genie/
%global version 1.45
%global version 2.2

# debuginfo is 'not supported' for .NET binaries
%global debug_package %{nil}
%global _enable_debug_package 0
%global __os_install_post /usr/lib/rpm/brp-compress %{nil}
Expand All @@ -14,10 +13,17 @@ Summary: A quick way into systemd "bottle" for WSL
License: Unlicense
URL: %{project}
Source0: %{project}archive/genie-%{version}.tar.gz
Requires: systemd-container

Requires: daemonize
Requires: dotnet-runtime-5.0
BuildRequires: dotnet-sdk-5.0
Requires: dbus
Requires: gawk
Requires: polkit
Requires: python3
Requires: python3-pip
Requires: python3-psutil
Requires: systemd
Requires: systemd-container
# BuildRequires: git
BuildRequires: make

ExclusiveArch: x86_64
Expand All @@ -29,12 +35,13 @@ A quick way into systemd "bottle" for WSL
%setup -q -n %{name}-%{version}

%build
make -C binsrc
make build-binaries

%install
pwd
install -d -p %{buildroot}%{_exec_prefix}/lib/%{name}
echo %{buildroot}%{_mandir}

install -d -p %{buildroot}%{_sysconfdir}
install -d -p %{buildroot}%{_exec_prefix}/lib/%{name}
install -d -p %{buildroot}%{_exec_prefix}/lib/systemd/system-environment-generators
install -d -p %{buildroot}%{_exec_prefix}/lib/systemd/user-environment-generators
install -d -p %{buildroot}%{_exec_prefix}/lib/tmpfiles.d
Expand All @@ -43,56 +50,63 @@ install -d -p %{buildroot}%{_bindir}
install -d -p %{buildroot}%{_unitdir}
install -d -p %{buildroot}%{_unitdir}/user-runtime-dir@.service.d
install -d -p %{buildroot}%{_unitdir}/sockets.target.wants
install -m 4755 -vp binsrc/genie/bin/Release/net5.0/linux-x64/publish/genie %{buildroot}%{_libexecdir}/%{name}
install -m 0755 -vp binsrc/runinwsl/bin/Release/net5.0/linux-x64/publish/runinwsl %{buildroot}%{_libexecdir}/%{name}
install -m 0755 -vp othersrc/scripts/80-genie-envar.sh %{buildroot}%{_libexecdir}/%{name}
install -m 0755 "othersrc/scripts/map-user-runtime-dir.sh" %{buildroot}%{_libexecdir}/%{name}
install -m 0755 "othersrc/scripts/unmap-user-runtime-dir.sh" %{buildroot}%{_libexecdir}/%{name}
install -m 0644 -vp othersrc/etc/genie.ini %{buildroot}%{_sysconfdir}/
install -m 0644 -vp othersrc/lib-systemd-system/wslg-xwayland.service %{buildroot}%{_unitdir}
install -m 0644 -vp othersrc/lib-systemd-system/wslg-xwayland.socket %{buildroot}%{_unitdir}
install -m 0644 -vp othersrc/lib-systemd-system/user-runtime-dir@.service.d/override.conf %{buildroot}%{_unitdir}/user-runtime-dir@.service.d
install -m 0644 -vp othersrc/usr-lib/binfmt.d/WSLInterop.conf %{buildroot}%{_exec_prefix}/lib/binfmt.d/
ln -sf %{_exec_prefix}/lib/%{name}/%{name} %{buildroot}%{_bindir}/%{name}
ln -sf %{_exec_prefix}/lib/%{name}/80-genie-envar.sh %{buildroot}%{_exec_prefix}/lib/systemd/system-environment-generators/
ln -sf %{_exec_prefix}/lib/%{name}/80-genie-envar.sh %{buildroot}%{_exec_prefix}/lib/systemd/user-environment-generators/
ln -sf %{_unitdir}/wslg-xwayland.socket %{buildroot}%{_unitdir}/sockets.target.wants/wslg-xwayland.socket
install -d -p %{buildroot}%{_mandir}/man8

make DESTDIR=%{buildroot} internal-package
make DESTDIR=%{buildroot} internal-supplement

%postun
if [ $1 -eq 0 ]; then
rm -rf %{_libexecdir}/%{name}
rm -f %{_bindir}/%{name}
rm -f %{_exec_prefix}/lib/systemd/system-environment-generators/80-genie-envar.sh
rm -f %{_exec_prefix}/lib/systemd/user-environment-generators/80-genie-envar.sh
rm -f %{_unitdir}/sockets.target.wants/wslg-xwayland.socket
rm -rf %{_exec_prefix}/lib/%{name}/*
rm -f %{_unitdir}/wslg-xwayland.service
rm -f %{_unitdir}/wslg-xwayland.socket
rm -f %{_unitdir}/user-runtime-dir@.service.d/override.conf
rm -f %{_exec_prefix}/lib/binfmt.d/WSLInterop.conf
rm -f %{_exec_prefix}/lib/systemd/system-environment-generators/80-genie-envar.sh
rm -f %{_exec_prefix}/lib/systemd/user-environment-generators/80-genie-envar.sh
rm -f %{_unitdir}/sockets.target.wants/wslg-xwayland.socket
rm -f ${_mandir}/man8/genie.8.gz
fi

%clean
rm -rf %{buildroot}

%files

%{_bindir}/%{name}
%{_exec_prefix}/lib/%{name}/*
%config %{_sysconfdir}/genie.ini
%{_bindir}/%{name}
%{_exec_prefix}/lib/systemd/system-environment-generators/80-genie-envar.sh
%{_exec_prefix}/lib/systemd/user-environment-generators/80-genie-envar.sh
%{_unitdir}/wslg-xwayland.service
%{_unitdir}/wslg-xwayland.socket
%{_unitdir}/sockets.target.wants/wslg-xwayland.socket
%{_unitdir}/user-runtime-dir@.service.d/override.conf
%{_exec_prefix}/lib/binfmt.d/WSLInterop.conf
%{_exec_prefix}/lib/systemd/system-environment-generators/80-genie-envar.sh
%{_exec_prefix}/lib/systemd/user-environment-generators/80-genie-envar.sh
%{_unitdir}/sockets.target.wants/wslg-xwayland.socket
%doc %{_mandir}/man8/genie.8.gz

%changelog
* Sat Aug 07 2021 Alistair Young <avatar@arkane-systems.net> 1.45-1
* Mon Feb 28 2022 Alistair Young <avatar@arkane-systems.net> 2.2-1
- Single-file package python scripts.
- Man page fixes.
- Fixed building on Python 3.10.
- Dropped the "local" install option (little used; use tarball instead).

* Mon Feb 28 2022 Alistair Young <avatar@arkane-systems.net> 2.1-1
- Documentation updates.
- Update /etc/hosts after hostname update.
- Minor fixes.

* Tue Feb 22 2022 Alistair Young <avatar@arkane-systems.net> 2.0b-1

- Major rewrite in Python, eliminating .NET dependency.
- Moved executables from /usr/libexec/genie to /usr/lib/genie.
- Allow configuration of hostname suffix.
- Improved Arch PKGBUILD file.
- Support for AppArmor namespaces.
- Add flag files to prevent race conditions.
- Work to better handle simultaneity.
- Extra warnings for problematic states.
- Miscellaneous fixes.

* Sat Aug 07 2021 Alistair Young <avatar@arkane-systems.net> 1.44-1
- Standardized use of /usr/lib rather than /lib.
Expand Down Expand Up @@ -123,7 +137,7 @@ rm -rf %{buildroot}
- Mount user runtime directory only where WSLg is present and user matches.

* Thu Apr 22 2021 Alistair Young <avatar@arkane-systems.net> 1.39-1
- Better WSLg support, based on the code of Daniel Llewellyn (@diddledan), here: https://github.com/diddledan/one-script-wsl2-systemd.
- Better WSLg support, based on the code of Dani Llewellyn (@diddledani), here: https://github.com/diddledani/one-script-wsl2-systemd.

* Thu Apr 22 2021 Alistair Young <avatar@arkane-systems.net> 1.38-1
- Restored original default systemd startup timeout.
Expand Down
18 changes: 0 additions & 18 deletions pending/package/arch/Makefile

This file was deleted.

64 changes: 0 additions & 64 deletions pending/package/arch/PKGBUILD

This file was deleted.

24 changes: 0 additions & 24 deletions pending/package/fedora/Makefile

This file was deleted.

1 change: 0 additions & 1 deletion pending/package/fedora/binsrc

This file was deleted.

1 change: 0 additions & 1 deletion pending/package/fedora/othersrc

This file was deleted.

0 comments on commit fde0cc8

Please sign in to comment.