Projects
home:pandora:RobinOS23
avahi
_service:download_src_package:avahi.spec
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:download_src_package:avahi.spec of Package avahi
%define anolis_release 2 %{?!WITH_QT5: %global WITH_QT5 1} %{?!WITH_PYTHON: %global WITH_PYTHON 1} Name: avahi Version: 0.8 Release: %{anolis_release}%{?dist} Summary: Local network service discovery License: LGPLv2+ URL: https://github.com/lathiat/avahi Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Patch1: 0001-avahi-dnsconfd.service-Drop-Also-avahi-daemon.socket.patch Patch2: 0002-man-add-missing-bshell.1-symlink.patch Patch3: 0003-Ship-avahi-discover-1-bssh-1-and-bvnc-1-also-for-GTK.patch Patch4: 0004-fix-requires-in-pc-file.patch Patch5: 0005-fix-bytestring-decoding-for-proper-display.patch Patch6: 0006-avahi_dns_packet_consume_uint32-fix-potential-undefi.patch Patch7: 0007-Fix-NULL-pointer-crashes-from-175.patch BuildRequires: automake BuildRequires: libtool BuildRequires: dbus-devel >= 0.90 BuildRequires: dbus-glib-devel >= 0.70 BuildRequires: desktop-file-utils BuildRequires: gtk3-devel >= 2.99.0 BuildRequires: gdbm-devel BuildRequires: pkgconfig(pygobject-3.0) BuildRequires: pkgconfig(libevent) >= 2.0.21 BuildRequires: intltool BuildRequires: perl-XML-Parser BuildRequires: xmltoman BuildRequires: systemd BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: libdaemon-devel >= 0.11 BuildRequires: glib2-devel BuildRequires: libcap-devel BuildRequires: expat-devel %if %{WITH_QT5} BuildRequires: qt5-qtbase-devel %endif %if %{WITH_PYTHON} BuildRequires: python3-dbus BuildRequires: python3-libxml2 BuildRequires: python3-devel %else Obsoletes: python3-avahi < %{version}-%{release} %endif Requires: dbus Requires: expat Requires: libdaemon >= 0.11 Requires: %{name}-libs = %{version}-%{release} Requires(post): dbus Requires(pre): shadow-utils Requires(pre): coreutils %description Avahi is a system which facilitates service discovery on a local network -- this means that you can plug your laptop or computer into a network and instantly be able to view other people who you can chat with, find printers to print to or find files being shared. This kind of technology is already found in MacOS X (branded 'Rendezvous', 'Bonjour' and sometimes 'ZeroConf') and is very convenient. %package tools Summary: Command line tools for mDNS browsing and publishing Requires: %{name} = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} %description tools Command line tools that use avahi to browse and publish mDNS services. %package ui-tools Summary: UI tools for mDNS browsing Requires: %{name} = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-glib = %{version}-%{release} Requires: %{name}-ui-gtk3 = %{version}-%{release} Requires: tigervnc Requires: openssh-clients %if %{WITH_PYTHON} Requires: python3-avahi = %{version}-%{release} Requires: python3-dbus Requires: python3-gobject-base %endif %description ui-tools Graphical user interface tools that use Avahi to browse for mDNS services. %package glib Summary: Glib libraries for avahi Requires: %{name}-libs = %{version}-%{release} %description glib Libraries for easy use of avahi from glib applications. %package glib-devel Summary: Libraries and header files for avahi glib development Requires: %{name}-devel = %{version}-%{release} Requires: %{name}-glib = %{version}-%{release} Requires: glib2-devel %description glib-devel The avahi-devel package contains the header files and libraries necessary for developing programs using avahi with glib. %package gobject Summary: GObject wrapper library for Avahi Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-glib = %{version}-%{release} %description gobject This library contains a GObject wrapper for the Avahi API %package gobject-devel Summary: Libraries and header files for Avahi GObject development Requires: %{name}-devel = %{version}-%{release} Requires: %{name}-gobject = %{version}-%{release} %description gobject-devel The avahi-gobject-devel package contains the header files and libraries necessary for developing programs using avahi-gobject. %package ui-gtk3 Summary: Gtk user interface library for Avahi (Gtk+ 3 version) Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-glib = %{version}-%{release} Requires: gtk3 %description ui-gtk3 This library contains a Gtk 3.x widget for browsing services. %package ui-devel Summary: Libraries and header files for Avahi UI development Requires: %{name}-devel = %{version}-%{release} Requires: %{name}-ui-gtk3 = %{version}-%{release} %description ui-devel The avahi-ui-devel package contains the header files and libraries necessary for developing programs using avahi-ui. %if %{WITH_QT5} %package qt5 Summary: Qt5 libraries for avahi Requires: %{name}-libs = %{version}-%{release} %description qt5 Libraries for easy use of avahi from Qt5 applications. %package qt5-devel Summary: Libraries and header files for avahi Qt5 development Requires: %{name}-devel = %{version}-%{release} Requires: %{name}-qt5 = %{version}-%{release} %description qt5-devel Th avahi-qt5-devel package contains the header files and libraries necessary for developing programs using avahi with Qt5. %endif %package libs Summary: Libraries for avahi run-time use %description libs The avahi-libs package contains the libraries needed to run programs that use avahi. %package devel Summary: Libraries and header files for avahi development Requires: %{name}-libs = %{version}-%{release} Requires: %{name} = %{version}-%{release} %description devel The avahi-devel package contains the header files and libraries necessary for developing programs using avahi. %package compat-howl Summary: Libraries for howl compatibility Requires: %{name}-libs = %{version}-%{release} Obsoletes: howl-libs Provides: howl-libs %description compat-howl Libraries that are compatible with those provided by the howl package. %package compat-howl-devel Summary: Header files for development with the howl compatibility libraries Requires: %{name}-compat-howl = %{version}-%{release} Requires: %{name}-devel = %{version}-%{release} Obsoletes: howl-devel Provides: howl-devel %description compat-howl-devel Header files for development with the howl compatibility libraries. %package compat-libdns_sd Summary: Libraries for Apple Bonjour mDNSResponder compatibility Requires: %{name}-libs = %{version}-%{release} %description compat-libdns_sd Libraries for Apple Bonjour mDNSResponder compatibility. %package compat-libdns_sd-devel Summary: Header files for the Apple Bonjour mDNSResponder compatibility libraries Requires: %{name}-compat-libdns_sd = %{version}-%{release} Requires: %{name}-devel = %{version}-%{release} %description compat-libdns_sd-devel Header files for development with the Apple Bonjour mDNSResponder compatibility libraries. %package autoipd Summary: Link-local IPv4 address automatic configuration daemon (IPv4LL) Requires(pre): shadow-utils Requires: %{name}-libs = %{version}-%{release} %description autoipd avahi-autoipd implements IPv4LL, "Dynamic Configuration of IPv4 Link-Local Addresses" (IETF RFC3927), a protocol for automatic IP address configuration from the link-local 169.254.0.0/16 range without the need for a central server. It is primarily intended to be used in ad-hoc networks which lack a DHCP server. %package dnsconfd Summary: Configure local unicast DNS settings based on information published in mDNS Requires: %{name} = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} %description dnsconfd avahi-dnsconfd connects to a running avahi-daemon and runs the script /etc/avahi/dnsconfd.action for each unicast DNS server that is announced on the local LAN. This is useful for configuring unicast DNS servers in a DHCP-like fashion with mDNS. %if %{WITH_PYTHON} %package -n python3-avahi Summary: Python3 Avahi bindings Requires: %{name} = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} %description -n python3-avahi %{summary}. %endif %prep %autosetup -n %{name}-%{version}%{?beta:-%{beta}} -p1 rm -fv docs/INSTALL %build rm -fv missing common/gcc_stack_protect.m4 NOCONFIGURE=1 ./autogen.sh %configure \ --with-distro=none \ --disable-monodoc \ --with-avahi-user=avahi \ --with-avahi-group=avahi \ --with-avahi-priv-access-group=avahi \ --with-autoipd-user=avahi-autoipd \ --with-autoipd-group=avahi-autoipd \ --with-systemdsystemunitdir=%{_unitdir} \ --enable-introspection=no \ --enable-shared=yes \ --enable-static=no \ --disable-silent-rules \ --disable-qt3 \ --disable-qt4 \ --enable-gtk3 \ --disable-mono \ --enable-compat-libdns_sd \ --enable-compat-howl \ %if ! %{WITH_PYTHON} --disable-python \ %endif %if ! %{WITH_QT5} --disable-qt5 \ %endif ; %make_build -k V=1 || make V=1 %install %make_install rm -fv %{buildroot}%{_libdir}/lib*.la rm -fv %{buildroot}%{_sysconfdir}/avahi/services/ssh.service rm -fv %{buildroot}%{_sysconfdir}/avahi/services/sftp-ssh.service # create /var/run/avahi-daemon to ensure correct selinux policy for it: mkdir -p %{buildroot}%{_localstatedir}/run/avahi-daemon mkdir -p %{buildroot}%{_localstatedir}/lib/avahi-autoipd # remove the documentation directory - let % doc handle it: rm -rfv %{buildroot}%{_datadir}/%{name}-%{version} # Make /etc/avahi/etc/localtime owned by avahi: mkdir -p %{buildroot}/etc/avahi/etc touch %{buildroot}/etc/avahi/etc/localtime ln -s avahi-compat-howl.pc %{buildroot}/%{_libdir}/pkgconfig/howl.pc ln -s avahi-compat-libdns_sd.pc %{buildroot}/%{_libdir}/pkgconfig/libdns_sd.pc ln -s avahi-compat-libdns_sd/dns_sd.h %{buildroot}/%{_includedir}/ %if %{WITH_PYTHON} for i in %{buildroot}%{_datadir}/applications/*.desktop ; do if [ -n "$(grep '^GenericName=$' $i)" ]; then desktop-file-edit --copy-name-to-generic-name $i fi done %else # unpackaged files rm -fv %{buildroot}%{_datadir}/applications/{bssh,bvnc}.desktop rm -fv %{buildroot}%{_datadir}/avahi/interfaces/avahi-discover.ui %endif rm -fv %{buildroot}%{_sysconfdir}/rc.d/init.d/avahi-daemon rm -fv %{buildroot}%{_sysconfdir}/rc.d/init.d/avahi-dnsconfd %find_lang %{name} %check %if %{WITH_PYTHON} for i in %{buildroot}%{_datadir}/applications/*.desktop ; do desktop-file-validate $i done %endif %pre getent group avahi >/dev/null || groupadd -f -g 70 -r avahi if ! getent passwd avahi > /dev/null ; then if ! getent passwd 70 > /dev/null ; then useradd -r -l -u 70 -g avahi -d %{_localstatedir}/run/avahi-daemon -s /sbin/nologin -c "Avahi mDNS/DNS-SD Stack" avahi else useradd -r -l -g avahi -d %{_localstatedir}/run/avahi-daemon -s /sbin/nologin -c "Avahi mDNS/DNS-SD Stack" avahi fi fi exit 0 %post %{?ldconfig} /usr/bin/dbus-send --system --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig >/dev/null 2>&1 || : if [ "$1" -eq 1 -a -s /etc/localtime ]; then /usr/bin/cp -cfp /etc/localtime /etc/avahi/etc/localtime >/dev/null 2>&1 || : fi %systemd_post avahi-daemon.socket avahi-daemon.service %preun %systemd_preun avahi-daemon.socket avahi-daemon.service %postun %{?ldconfig} %systemd_postun_with_restart avahi-daemon.socket avahi-daemon.service %pre autoipd getent group avahi-autoipd >/dev/null || groupadd -f -g 170 -r avahi-autoipd if ! getent passwd avahi-autoipd > /dev/null ; then if ! getent passwd 170 > /dev/null; then useradd -r -u 170 -l -g avahi-autoipd -d %{_localstatedir}/lib/avahi-autoipd -s /sbin/nologin -c "Avahi IPv4LL Stack" avahi-autoipd else useradd -r -l -g avahi-autoipd -d %{_localstatedir}/lib/avahi-autoipd -s /sbin/nologin -c "Avahi IPv4LL Stack" avahi-autoipd fi fi exit 0 %post dnsconfd %systemd_post avahi-dnsconfd.service %preun dnsconfd %systemd_preun avahi-dnsconfd.service %postun dnsconfd %systemd_postun_with_restart avahi-dnsconfd.service %ldconfig_scriptlets glib %ldconfig_scriptlets compat-howl %ldconfig_scriptlets compat-libdns_sd %ldconfig_scriptlets libs %ldconfig_scriptlets ui %ldconfig_scriptlets ui-gtk3 %ldconfig_scriptlets gobject %files -f %{name}.lang %doc docs/* avahi-daemon/example.service avahi-daemon/sftp-ssh.service avahi-daemon/ssh.service %dir %{_sysconfdir}/avahi %dir %{_sysconfdir}/avahi/etc %ghost %{_sysconfdir}/avahi/etc/localtime %config(noreplace) %{_sysconfdir}/avahi/hosts %dir %{_sysconfdir}/avahi/services %ghost %dir %{_localstatedir}/run/avahi-daemon %config(noreplace) %{_sysconfdir}/avahi/avahi-daemon.conf %config(noreplace) %{_sysconfdir}/dbus-1/system.d/avahi-dbus.conf %{_sbindir}/avahi-daemon %dir %{_datadir}/avahi %{_datadir}/avahi/*.dtd %dir %{_libdir}/avahi %if %{WITH_PYTHON} %{_libdir}/avahi/service-types.db %endif %{_mandir}/man5/* %{_mandir}/man8/avahi-daemon.* %{_unitdir}/avahi-daemon.service %{_unitdir}/avahi-daemon.socket %{_datadir}/dbus-1/interfaces/*.xml %{_datadir}/dbus-1/system-services/org.freedesktop.Avahi.service %{_libdir}/libavahi-core.so.* %files autoipd %{_sbindir}/avahi-autoipd %config(noreplace) %{_sysconfdir}/avahi/avahi-autoipd.action %attr(1770,avahi-autoipd,avahi-autoipd) %dir %{_localstatedir}/lib/avahi-autoipd/ %{_mandir}/man8/avahi-autoipd.* %files dnsconfd %config(noreplace) %{_sysconfdir}/avahi/avahi-dnsconfd.action %{_sbindir}/avahi-dnsconfd %{_mandir}/man8/avahi-dnsconfd.* %{_unitdir}/avahi-dnsconfd.service %files tools %{_bindir}/avahi-browse %{_bindir}/avahi-browse-domains %{_bindir}/avahi-publish %{_bindir}/avahi-publish-address %{_bindir}/avahi-publish-service %{_bindir}/avahi-resolve %{_bindir}/avahi-resolve-address %{_bindir}/avahi-resolve-host-name %{_bindir}/avahi-set-host-name %{_mandir}/man1/avahi-browse.1* %{_mandir}/man1/avahi-browse-domains.1* %{_mandir}/man1/avahi-publish.1* %{_mandir}/man1/avahi-publish-address.1* %{_mandir}/man1/avahi-publish-service.1* %{_mandir}/man1/avahi-resolve.1* %{_mandir}/man1/avahi-resolve-address.1* %{_mandir}/man1/avahi-resolve-host-name.1* %{_mandir}/man1/avahi-set-host-name.1* %files ui-tools %{_bindir}/bshell %{_bindir}/bssh %{_bindir}/bvnc %{_bindir}/avahi-discover-standalone %{_mandir}/man1/bshell.1* %{_mandir}/man1/bssh.1* %{_mandir}/man1/bvnc.1* %if %{WITH_PYTHON} %{_bindir}/avahi-discover %{_bindir}/avahi-bookmarks %{_mandir}/man1/avahi-discover* %{_mandir}/man1/avahi-bookmarks* %{_datadir}/applications/b*.desktop %{_datadir}/applications/avahi-discover.desktop %{_datadir}/avahi/interfaces/ %endif %files devel %{_libdir}/libavahi-common.so %{_libdir}/libavahi-core.so %{_libdir}/libavahi-client.so %{_libdir}/libavahi-libevent.so %{_includedir}/avahi-client %{_includedir}/avahi-common %{_includedir}/avahi-core %{_includedir}/avahi-libevent %{_libdir}/pkgconfig/avahi-core.pc %{_libdir}/pkgconfig/avahi-client.pc %{_libdir}/pkgconfig/avahi-libevent.pc %files libs %doc README %license LICENSE %{_libdir}/libavahi-common.so.* %{_libdir}/libavahi-client.so.* %{_libdir}/libavahi-libevent.so.* %files glib %{_libdir}/libavahi-glib.so.* %files glib-devel %{_libdir}/libavahi-glib.so %{_includedir}/avahi-glib %{_libdir}/pkgconfig/avahi-glib.pc %files gobject %{_libdir}/libavahi-gobject.so.* %files gobject-devel %{_libdir}/libavahi-gobject.so %{_includedir}/avahi-gobject %{_libdir}/pkgconfig/avahi-gobject.pc %files ui-gtk3 %{_libdir}/libavahi-ui-gtk3.so.* %files ui-devel %{_libdir}/libavahi-ui-gtk3.so %{_includedir}/avahi-ui %{_libdir}/pkgconfig/avahi-ui-gtk3.pc %if %{WITH_QT5} %ldconfig_scriptlets qt5 %files qt5 %{_libdir}/libavahi-qt5.so.* %files qt5-devel %{_libdir}/libavahi-qt5.so %{_includedir}/avahi-qt5/ %{_libdir}/pkgconfig/avahi-qt5.pc %endif %files compat-howl %{_libdir}/libhowl.so.* %files compat-howl-devel %{_libdir}/libhowl.so %{_includedir}/avahi-compat-howl %{_libdir}/pkgconfig/avahi-compat-howl.pc %{_libdir}/pkgconfig/howl.pc %files compat-libdns_sd %{_libdir}/libdns_sd.so.* %files compat-libdns_sd-devel %{_libdir}/libdns_sd.so %{_includedir}/avahi-compat-libdns_sd %{_includedir}/dns_sd.h %{_libdir}/pkgconfig/avahi-compat-libdns_sd.pc %{_libdir}/pkgconfig/libdns_sd.pc %if %{WITH_PYTHON} %files -n python3-avahi %{python3_sitelib}/avahi/ %endif %changelog * Mon Aug 29 2022 mgb01105731 <mgb01105731@alibaba-inc.com> - 0.8-2 - remove gtk2 * Wed Apr 20 2022 yuanhui <yuanhui@linux.alibaba.com> - 0.8-1 - Init avahi for anolis os 23
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2