%bcond check 0 %global debug_package %{nil} # https://github.com/linuxdeepin/dde-daemon %global goipath github.com/linuxdeepin/dde-daemon Version: 6.1.23 %global tag %{version} %gometa -L Name: deepin-daemon Release: %autorelease Summary: Daemon handling the DDE session settings License: GPL-3.0-or-later URL: %{gourl} Source0: %{gosource} # upstream default mono font set to 'Noto Mono', which is not yet available in # Fedora. We change to 'Noto Sans Mono' Source1: fontconfig.json Source2: deepin-daemon.sysusers #Patch0: deepin-daemon-fix-go-fmt.patch # accord with ddcutil ExcludeArch: s390x BuildRequires: python3 BuildRequires: deepin-gettext-tools BuildRequires: fontpackages-devel BuildRequires: librsvg2-tools BuildRequires: pam-devel BuildRequires: glib2-devel BuildRequires: gtk3-devel BuildRequires: systemd-devel BuildRequires: systemd-rpm-macros BuildRequires: alsa-lib-devel BuildRequires: pulseaudio-libs-devel BuildRequires: gdk-pixbuf2-xlib-devel BuildRequires: libnl3-devel BuildRequires: libgudev-devel BuildRequires: libinput-devel BuildRequires: librsvg2-devel BuildRequires: libxcrypt-devel BuildRequires: libXcursor-devel BuildRequires: pkgconfig(sqlite3) BuildRequires: python3-gobject BuildRequires: NetworkManager-libnm-devel BuildRequires: pkgconfig(ddcutil) # for test BuildRequires: deepin-desktop-base BuildRequires: deepin-desktop-schemas BuildRequires: gcc-c++ Requires: bamf-daemon Requires: bluez-obexd Requires: gnome-keyring Requires: deepin-desktop-base Requires: deepin-desktop-schemas Requires: deepin-session-ui Requires: deepin-polkit-agent Requires: rfkill Requires: gvfs Requires: iw Requires: lightdm Requires: xsettingsd Recommends: lshw Recommends: iso-codes Recommends: imwheel Recommends: %{_bindir}/xmodmap Recommends: mobile-broadband-provider-info Recommends: google-noto-mono-fonts Recommends: google-noto-sans-fonts Recommends: google-noto-sans-mono-fonts %description Daemon handling the DDE session settings. %prep %goprep -A %autopatch -p1 %generate_buildrequires %go_generate_buildrequires sed -i 's|${DESTDIR}/lib/udev|${DESTDIR}$(PREFIX)/lib/udev|' Makefile sed -i 's|${DESTDIR}/lib/systemd|${DESTDIR}$(PREFIX)/lib/systemd|' Makefile sed -i 's|/etc/modules-load.d|/usr/lib/modules-load.d|g' Makefile sed -i 's|/etc/os-version|/etc/uos-version|' \ bin/dde-system-daemon/plymouth.go keybinding1/shortcuts/shortcut_manager.go sed -i "s|/usr/share/dde/zoneinfo/zone1970.tab|$(pwd)/misc/zoneinfo/zone1970.tab|" \ timedate1/zoneinfo/zone.go # Fix grub.cfg path sed -i 's|boot/grub|boot/grub2|' grub2/{grub2,grub_params}.go %build export GOPATH="$(pwd)/gopath:%{gopath}" export %{gomodulesmode} export CGO_CFLAGS="%{optflags} -std=gnu17" # build different golang binaries with different build-id make prepare for cmd in bin/* ; do if ! [ -f $cmd/main.c ]; then %gobuild -o out/bin/$(basename $cmd) github.com/linuxdeepin/dde-daemon/$cmd fi done BUILDID="0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n')" %make_build GO_BUILD_FLAGS=-trimpath GOBUILD="go build -compiler gc -ldflags \"-B $BUILDID\"" %install BUILDID="0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n')" export GOPATH="$(pwd)/build:%{gopath}" export %{gomodulesmode} export CGO_CFLAGS="%{optflags} -std=gnu17" %make_install GOBUILD="go build -compiler gc -ldflags \"-B $BUILDID\"" # Install sysusers.d configuration install -Dm644 %{SOURCE2} %{buildroot}%{_sysusersdir}/deepin-daemon.conf # fix systemd/logind config install -d %{buildroot}%{_prefix}/lib/systemd/logind.conf.d/ cat > %{buildroot}%{_prefix}/lib/systemd/logind.conf.d/10-deepin-daemon.conf <