Compare commits

...

1 commit

Author SHA1 Message Date
Renich Bon Ciric
1cea74f262 specs preliminares para construir janus y nats-server 2024-04-22 20:54:43 -06:00
13 changed files with 1515 additions and 0 deletions

View file

@ -0,0 +1,61 @@
# Generated by go2rpm 1.10.0
%bcond_without check
%global debug_package %{nil}
# lower memory usage on 32-bit
# shorten test duration on aarch64
# https://github.com/klauspost/compress/issues/532
%ifarch aarch64 armv7hl i686
%global gotestflags -short %{gotestflags}
%endif
# https://github.com/klauspost/compress
%global goipath github.com/klauspost/compress
Version: 1.17.7
%gometa -L
%global common_description %{expand:
This package is based on an optimized Deflate function, which is used by
gzip/zip/zlib packages.
It offers slightly better compression at lower compression settings, and up to
3x faster encoding at highest compression level.}
%global golicenses LICENSE snappy/LICENSE snappy/xerial/LICENSE\\\
s2/LICENSE gzhttp/LICENSE
%global godocs SECURITY.md README.md snappy/CONTRIBUTORS\\\
snappy/README.md snappy/AUTHORS\\\
snappy/xerial/README.md dict/README.md\\\
huff0/README.md s2/README.md gzhttp/README.md\\\
zstd/README.md fse/README.md
Name: %{goname}
Release: %autorelease
Summary: Optimized Go Compression Packages
License: Apache-2.0 AND BSD-3-Clause AND MIT
URL: %{gourl}
Source: %{gosource}
%description %{common_description}
%gopkg
%prep
%goprep -A
%generate_buildrequires
%go_generate_buildrequires
%install
%gopkginstall
%if %{with check}
%check
%gocheck
%endif
%gopkgfiles
%changelog
%autochangelog

View file

@ -0,0 +1,51 @@
# Generated by go2rpm 1.9.0
%bcond_without check
%global debug_package %{nil}
# Avoid noarch package built differently on different architectures
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^golang\\(golang.org/x/sys/cpu\\)$
# https://github.com/minio/highwayhash
%global goipath github.com/minio/highwayhash
Version: 1.0.2
%gometa -f
%global common_description %{expand:
Native Go version of HighwayHash with optimized assembly implementations on
Intel and ARM}
%global golicenses LICENSE
%global godocs README.md
Name: %{goname}
Release: %autorelease
Summary: Native Go version of HighwayHash
License: Apache-2.0
URL: %{gourl}
Source: %{gosource}
%description %{common_description}
%gopkg
%prep
%goprep
%autopatch -p1
%generate_buildrequires
%go_generate_buildrequires
%install
%gopkginstall
%if %{with check}
%check
%gocheck
%endif
%gopkgfiles
%changelog
%autochangelog

View file

@ -0,0 +1,55 @@
# Generated by go2rpm 1.9.0
%bcond_without check
%global debug_package %{nil}
# https://github.com/nats-io/jwt
%global goipath github.com/nats-io/jwt
Version: 2.5.5
%gometa -f
%global goname golang-github-nats-io-jwt-2
%global goaltipaths github.com/nats-io/jwt/v2
%global common_description %{expand:
JWT tokens signed using NKeys for Ed25519 for the NATS ecosystem.}
%global golicenses LICENSE
%global godocs README.md ReleaseNotes.md dependencies.md
Name: %{goname}
Release: %autorelease
Summary: JWT tokens signed using NKeys for Ed25519 for the NATS ecosystem
License: Apache-2.0
URL: %{gourl}
Source: %{gosource}
%description %{common_description}
%gopkg
%prep
%goprep
%autopatch -p1
%generate_buildrequires
%go_generate_buildrequires
%install
%gopkginstall
%if %{with check}
%check
%gocheck
%endif
%files
%license LICENSE
%doc README.md ReleaseNotes.md dependencies.md
%gopkgfiles
%changelog
%autochangelog

View file

@ -0,0 +1,60 @@
# Generated by go2rpm
%bcond_without check
# https://github.com/nats-io/nkeys
%global goipath github.com/nats-io/nkeys
Version: 0.4.7
%gometa
%global common_description %{expand:
A public-key signature system based on Ed25519 for the NATS ecosystem.}
%global golicenses LICENSE
%global godocs GOVERNANCE.md MAINTAINERS.md README.md TODO.md\\\
README-nk.md
Name: %{goname}
Release: %autorelease
Summary: Public-key signature system based on Ed25519 for the NATS ecosystem
# Upstream license specification: Apache-2.0
License: ASL 2.0
URL: %{gourl}
Source0: %{gosource}
BuildRequires: golang(golang.org/x/crypto/ed25519)
%description
%{common_description}
%gopkg
%prep
%goprep
mv nk/README.md README-nk.md
%build
for cmd in nk; do
%gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/$cmd
done
%install
%gopkginstall
install -m 0755 -vd %{buildroot}%{_bindir}
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/
%if %{with check}
%check
%gocheck
%endif
%files
%license LICENSE
%doc GOVERNANCE.md MAINTAINERS.md README.md TODO.md README-nk.md
%{_bindir}/*
%gopkgfiles
%changelog
%autochangelog

View file

@ -0,0 +1,82 @@
# Generated by go2rpm
%bcond_without check
# https://github.com/nats-io/nuid
%global goipath github.com/nats-io/nuid
Version: 1.0.1
%gometa
%global common_description %{expand:
A highly performant unique identifier generator.}
%global golicenses LICENSE
%global godocs GOVERNANCE.md MAINTAINERS.md README.md
Name: %{goname}
Release: 13%{?dist}
Summary: Highly performant unique identifier generator
# Upstream license specification: Apache-2.0
License: ASL 2.0
URL: %{gourl}
Source0: %{gosource}
%description
%{common_description}
%gopkg
%prep
%goprep
%install
%gopkginstall
%if %{with check}
%check
%gocheck
%endif
%gopkgfiles
%changelog
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-5
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue May 14 00:52:01 CEST 2019 Robert-André Mauchin <zebob.m@gmail.com> - 1.0.1-1
- Initial package

View file

@ -0,0 +1,58 @@
# Generated by go2rpm 1.9.0
%bcond_without check
%bcond_with bootstrap
%global debug_package %{nil}
# https://github.com/nats-io/nats.go
%global goipath github.com/nats-io/nats.go
Version: 1.34.1
%gometa -f
%global goaltipaths github.com/nats-io/go-nats
%global common_description %{expand:
Golang client for NATS, the cloud native messaging system.}
%global golicenses LICENSE
%global godocs CODE-OF-CONDUCT.md GOVERNANCE.md\\\
MAINTAINERS.md README.md
Name: %{goname}
Release: %autorelease
Summary: Golang client for NATS, the cloud native messaging system
License: Apache-2.0
URL: %{gourl}
Source: %{gosource}
%if %{with check}
# tests
BuildRequires: golang(github.com/golang/protobuf/proto)
%endif
%description %{common_description}
%gopkg
%prep
%goprep
%autopatch -p1
%generate_buildrequires
%go_generate_buildrequires
%install
%gopkginstall
%if %{without bootstrap}
%if %{with check}
%check
%gocheck
%endif
%endif
%gopkgfiles
%changelog
%autochangelog

View file

@ -0,0 +1,48 @@
# Generated by go2rpm 1.9.0
%bcond_without check
%global debug_package %{nil}
# https://github.com/prashantv/gostub
%global goipath github.com/prashantv/gostub
Version: 1.1.0
%gometa -f
%global common_description %{expand:
Gostub is a library to make stubbing in unit tests easy.}
%global golicenses LICENSE.md
%global godocs CHANGELOG.md README.md
Name: %{goname}
Release: %autorelease
Summary: Gostub is a library to make stubbing in unit tests easy
License: MIT
URL: %{gourl}
Source: %{gosource}
%description %{common_description}
%gopkg
%prep
%goprep
%autopatch -p1
%generate_buildrequires
%go_generate_buildrequires
%install
%gopkginstall
%if %{with check}
%check
%gocheck
%endif
%gopkgfiles
%changelog
%autochangelog

View file

@ -0,0 +1,47 @@
# Generated by go2rpm 1.6.0
%bcond_without check
%global debug_package %{nil}
# https://github.com/golang/protobuf
%global goipath github.com/golang/protobuf
Version: 1.5.3
%gometa
%global common_description %{expand:
Go support for Google's protocol buffers.}
%global golicenses LICENSE
%global godocs AUTHORS CONTRIBUTORS README.md
Name: %{goname}
Release: %autorelease
Summary: Go support for Google's protocol buffers
License: BSD-3-Clause
URL: %{gourl}
Source0: %{gosource}
%description
%{common_description}
%gopkg
%prep
%goprep
%generate_buildrequires
%go_generate_buildrequires
%install
%gopkginstall
%if %{with check}
%check
%gocheck
%endif
%gopkgfiles
%changelog
%autochangelog

View file

@ -0,0 +1,52 @@
# Generated by go2rpm 1.9.0
%bcond_without check
%global debug_package %{nil}
# https://github.com/uber-go/automaxprocs
%global goipath go.uber.org/automaxprocs
%global forgeurl https://github.com/uber-go/automaxprocs
Version: 1.5.2
%gometa -f
%global goaltipaths github.com/uber-go/automaxprocs
%global common_description %{expand:
Automatically set GOMAXPROCS to match Linux container CPU quota.}
%global golicenses LICENSE
%global godocs CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md\\\
README.md
Name: %{goname}
Release: %autorelease
Summary: Automatically set GOMAXPROCS to match Linux container CPU quota
License: MIT
URL: %{gourl}
Source: %{gosource}
%description %{common_description}
%gopkg
%prep
%goprep
%autopatch -p1
%generate_buildrequires
%go_generate_buildrequires
%install
%gopkginstall
%if %{with check}
%check
%gocheck
%endif
%gopkgfiles
%changelog
%autochangelog

View file

@ -0,0 +1,48 @@
# Generated by go2rpm 1.7.0
%bcond_without check
%global debug_package %{nil}
# https://github.com/golang/time
%global goipath golang.org/x/time
%global forgeurl https://github.com/golang/time
Version: 0.3.0
%gometa
%global common_description %{expand:
This library provides supplementary Go time packages.}
%global golicenses LICENSE PATENTS
%global godocs CONTRIBUTING.md README.md
Name: %{goname}
Release: %autorelease
Summary: Go supplementary time packages
License: BSD-3-Clause
URL: %{gourl}
Source: %{gosource}
%description
%{common_description}
%gopkg
%prep
%goprep
%generate_buildrequires
%go_generate_buildrequires
%install
%gopkginstall
%if %{with check}
%check
%gocheck
%endif
%gopkgfiles
%changelog
%autochangelog

View file

@ -0,0 +1,741 @@
%global __provides_exclude_from %{_includedir}/%{name}/events/.*\\.so$
%global __provides_exclude_from %{_includedir}/%{name}/loggers/.*\\.so$
%global __provides_exclude_from %{_includedir}/%{name}/plugins/.*\\.so$
%global __provides_exclude_from %{_includedir}/%{name}/transports/.*\\.so$
%global __requires_exclude_from %{_includedir}/%{name}/events/.*\\.so$
%global __requires_exclude_from %{_includedir}/%{name}/loggers/.*\\.so$
%global __requires_exclude_from %{_includedir}/%{name}/plugins/.*\\.so$
%global __requires_exclude_from %{_includedir}/%{name}/transports/.*\\.so$
Name: janus
Version: 1.2.2
Release: 0%{?dist}
Summary: An open source WebRTC server designed and developed by Meetecho
License: GPLv3 AND MIT AND BSD-3-Clause
URL: https://janus.conf.meetecho.com/
Source0: https://github.com/meetecho/%{name}-gateway/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: %{name}.service
Source2: %{name}.sysusers
patch0: 0004-janus-dtls.patch
BuildRequires: autoconf
BuildRequires: automake
#BuildRequires: cmake
BuildRequires: duktape-devel
#BuildRequires: gcc
BuildRequires: glib2-devel
#BuildRequires: graphviz
BuildRequires: intltool
BuildRequires: jansson-devel
%if 0%{?rhel} == 8
BuildRequires: ffmpeg-devel
%endif
%if 0%{?fedora} || 0%{?rhel} > 8
BuildRequires: libavcodec-free-devel
BuildRequires: libavformat-free-devel
BuildRequires: libavutil-free-devel
%endif
BuildRequires: libconfig-devel
BuildRequires: libcurl-devel
BuildRequires: libmicrohttpd-devel
BuildRequires: libnice-devel
#BuildRequires: libogg
BuildRequires: libpcap-devel
BuildRequires: librabbitmq-devel
BuildRequires: libsrtp-devel
BuildRequires: libtool
BuildRequires: libwebsockets-devel
BuildRequires: lua-devel
#BuildRequires: make
BuildRequires: nanomsg-devel
BuildRequires: openssl-devel
BuildRequires: opus-devel
BuildRequires: paho-c-devel
BuildRequires: sofia-sip-devel
BuildRequires: speexdsp-devel
BuildRequires: systemd-devel
BuildRequires: systemd-rpm-macros
BuildRequires: usrsctp-devel
BuildRequires: zlib-devel
%description
Janus is an open source WebRTC server designed and developed by Meetecho.
%package devel
Summary: The %{name} header files and test scripts
%description devel
Development package containing header files and what is required for %{name}
plugin development, as well as some test scripts.
%package eventhandlers-gelf
Summary: GELF event handler for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description eventhandlers-gelf
GELF event handler for %{name}.
%package eventhandlers-mqtt
Summary: MQTT event handler for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description eventhandlers-mqtt
MQTT event handler for %{name}.
%package eventhandlers-nanomsg
Summary: Nanomsg event handler for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description eventhandlers-nanomsg
Nanomsg event handler for %{name}.
%package eventhandlers-rabbitmq
Summary: RabbitMQ event handler for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description eventhandlers-rabbitmq
RabbitMQ event handler for %{name}.
%package eventhandlers-sample
Summary: Sample event handler for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description eventhandlers-sample
Sample event handler for %{name}.
%package eventhandlers-ws
Summary: WebSocket event handler for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description eventhandlers-ws
WebSocket event handler for %{name}.
%package loggers-json
Summary: A logger plugin for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description loggers-json
This is a trivial logger plugin for %{name}.
%package plugins-audiobridge
Summary: This is a plugin implementing an audio conference bridge for %{name}, specifically mixing Opus streams.
Requires: %{name}%{?_isa} = %{version}-%{release}
%description plugins-audiobridge
This is a plugin implementing an audio conference bridge for %{name}, specifically mixing Opus streams.
%package plugins-duktape
Summary: A simple bridge to JavaScript via Duktape for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description plugins-duktape
This is a plugin that implements a simple bridge to JavaScript via Duktape for
%{name}.
%package plugins-echotest
Summary: EchoTest plugin for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description plugins-echotest
This is a trivial EchoTest plugin for %{name}, just used to showcase the plugin
interface.
# TODO: package lua-ansicolors: https://github.com/kikito/ansicolors.lua
%package plugins-lua
Summary: Simple bridge to Lua scripts for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: lua-json
%description plugins-lua
This is a plugin that implements a simple bridge to Lua scripts for %{name}.
%package plugins-nosip
Summary: Acts as an RTP bridge for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description plugins-nosip
This is quite a basic plugin, as it only takes care of acting as an RTP bridge
for %{name}.
%package plugins-recordplay
Summary: Record and playback of WebRTC messages for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description plugins-recordplay
This is a simple application that implements two different features for
%{name}: it allows you to record a message you send with WebRTC and
subsequently replay this recording (or other previously recorded) through
WebRTC as well.
%package plugins-sip
Summary: Allows WebRTC peers to register at a SIP server
Requires: %{name}%{?_isa} = %{version}-%{release}
%description plugins-sip
This is a simple SIP plugin for Janus, allowing WebRTC peers to register at a
SIP server (e.g., Asterisk) and call SIP user agents through %{name}.
%package plugins-streaming
Summary: Streaming plugin for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description plugins-streaming
This is a streaming plugin for %{name}, allowing WebRTC peers to watch/listen
to pre-recorded files or media generated by another tool.
%package plugins-textroom
Summary: A DataChannel only text room for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description plugins-textroom
This is a plugin implementing a DataChannel only text room for %{name}.
%package plugins-videocall
Summary: Allows two WebRTC peers to call each other through %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description plugins-videocall
This is a simple video call plugin for Janus, allowing two WebRTC peers to call
each other through %{name}.
%package plugins-videoroom
Summary: Videoconferencing SFU for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description plugins-videoroom
This is a plugin implementing a videoconferencing SFU (Selective Forwarding
Unit) for %{name}, that is an audio/video router.
%package tools
Summary: Janus' helper tools
Requires: gstreamer1-plugins-good%{?_isa}
%description tools
Janus' helper tools.
%package transports-http
Summary: RESTs transport for the %{name} API
Requires: %{name}%{?_isa} = %{version}-%{release}
%description transports-http
This is an implementation of a RESTs transport for the %{name} API, using the
libmicrohttpd library.
%package transports-mqtt
Summary: MQTT transport for the %{name} API
Requires: %{name}%{?_isa} = %{version}-%{release}
%description transports-mqtt
This is an implementation of a MQTT transport for the %{name} API, using the
Eclipse Paho C Client library.
%package transports-nanomsg
Summary: Nanomsg transport for the %{name} API
Requires: %{name}%{?_isa} = %{version}-%{release}
%description transports-nanomsg
This is an implementation of a Nanomsg transport for the %{name} API.
%package transports-pfunix
Summary: Unix Sockets transport for the %{name} API
Requires: %{name}%{?_isa} = %{version}-%{release}
%description transports-pfunix
This is an implementation of a Unix Sockets transport for the %{name} API.
%package transports-rabbitmq
Summary: RabbitMQ transport for the %{name} API
Requires: %{name}%{?_isa} = %{version}-%{release}
%description transports-rabbitmq
This is an implementation of a RabbitMQ transport for the %{name} API.
%package transports-websockets
Summary: WebSockets transport for the %{name} API
Requires: %{name}%{?_isa} = %{version}-%{release}
%description transports-websockets
This is an implementation of a WebSockets transport for the %{name} API.
%prep
%autosetup -p 1 -n %{name}-gateway-%{version}
%build
sh autogen.sh
%configure \
--disable-docs \
--enable-json-logger \
--enable-plugin-audiobridge \
--enable-plugin-duktape \
--enable-plugin-lua \
--enable-post-processing \
--enable-systemd-sockets
%make_build
%check
make check
%install
%make_install
# generate configuration files
make DESTDIR=%{buildroot} configs
# make scripts executable
chmod 755 %{buildroot}%{_datadir}/%{name}/streams/*.sh
# systemd
install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
install -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysusersdir}/%{name}.conf
# cleanup
rm -fr %{buildroot}%{_docdir}/%{name}-gateway
rm -fr %{buildroot}%{_datadir}/%{name}/html
rm -fr %{buildroot}%{_datadir}/%{name}/javascript
find %{buildroot} -type f -iname '*.la' -delete
%pre
%sysusers_create_compat %{SOURCE2}
%post
%systemd_post %{name}.service
%preun
%systemd_preun %{name}.service
%postun
%systemd_postun_with_restart %{name}.service
%files
# licenses and docs
%license COPYING
%doc README.md
%doc SECURITY.md
%doc CHANGELOG.md
# binaries
%{_bindir}/%{name}
%{_bindir}/%{name}-cfgconv
# manuals
%{_mandir}/man1/%{name}-cfgconv.1.gz
%{_mandir}/man1/%{name}.1.gz
# samples
%doc %{_sysconfdir}/%{name}/%{name}.jcfg.sample
# configuration
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.jcfg
# systemd service unit
%{_unitdir}/%{name}.service
# systemd sysusers
%{_sysusersdir}/%{name}.conf
# lib filesystem
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/events
%dir %{_libdir}/%{name}/loggers
%dir %{_libdir}/%{name}/plugins
%dir %{_libdir}/%{name}/transports
# data filesystem
%dir %{_datadir}/%{name}
## event handlers
%files eventhandlers-gelf
%doc %{_sysconfdir}/%{name}/%{name}.eventhandler.gelfevh.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.eventhandler.gelfevh.jcfg
%{_libdir}/%{name}/events/libjanus_gelfevh.so
%{_libdir}/%{name}/events/libjanus_gelfevh.so.2
%{_libdir}/%{name}/events/libjanus_gelfevh.so.2.0.2
%files eventhandlers-mqtt
%doc %{_sysconfdir}/%{name}/%{name}.eventhandler.mqttevh.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.eventhandler.mqttevh.jcfg
%{_libdir}/%{name}/events/libjanus_mqttevh.so
%{_libdir}/%{name}/events/libjanus_mqttevh.so.2
%{_libdir}/%{name}/events/libjanus_mqttevh.so.2.0.2
%files eventhandlers-nanomsg
%doc %{_sysconfdir}/%{name}/%{name}.eventhandler.nanomsgevh.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.eventhandler.nanomsgevh.jcfg
%{_libdir}/%{name}/events/libjanus_nanomsgevh.so
%{_libdir}/%{name}/events/libjanus_nanomsgevh.so.2
%{_libdir}/%{name}/events/libjanus_nanomsgevh.so.2.0.2
%files eventhandlers-rabbitmq
%doc %{_sysconfdir}/%{name}/%{name}.eventhandler.rabbitmqevh.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.eventhandler.rabbitmqevh.jcfg
%{_libdir}/%{name}/events/libjanus_rabbitmqevh.so
%{_libdir}/%{name}/events/libjanus_rabbitmqevh.so.2
%{_libdir}/%{name}/events/libjanus_rabbitmqevh.so.2.0.2
%files eventhandlers-sample
%doc %{_sysconfdir}/%{name}/%{name}.eventhandler.sampleevh.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.eventhandler.sampleevh.jcfg
%{_libdir}/%{name}/events/libjanus_sampleevh.so
%{_libdir}/%{name}/events/libjanus_sampleevh.so.2
%{_libdir}/%{name}/events/libjanus_sampleevh.so.2.0.2
%files eventhandlers-ws
%doc %{_sysconfdir}/%{name}/%{name}.eventhandler.wsevh.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.eventhandler.wsevh.jcfg
%{_libdir}/%{name}/events/libjanus_wsevh.so
%{_libdir}/%{name}/events/libjanus_wsevh.so.2
%{_libdir}/%{name}/events/libjanus_wsevh.so.2.0.2
# loggers
%files loggers-json
%doc %{_sysconfdir}/%{name}/%{name}.logger.jsonlog.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.logger.jsonlog.jcfg
%{_libdir}/%{name}/loggers/libjanus_jsonlog.so
%{_libdir}/%{name}/loggers/libjanus_jsonlog.so.2
%{_libdir}/%{name}/loggers/libjanus_jsonlog.so.2.0.2
## plugins
%files plugins-audiobridge
%doc %{_sysconfdir}/%{name}/%{name}.plugin.audiobridge.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.audiobridge.jcfg
%{_libdir}/%{name}/plugins/libjanus_audiobridge.so
%{_libdir}/%{name}/plugins/libjanus_audiobridge.so.2
%{_libdir}/%{name}/plugins/libjanus_audiobridge.so.2.0.2
%files plugins-duktape
%doc %{_sysconfdir}/%{name}/%{name}.plugin.duktape.jcfg.sample
%dir %{_datadir}/%{name}/duktape
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.duktape.jcfg
%{_datadir}/%{name}/duktape/echotest.js
%{_datadir}/%{name}/duktape/%{name}-sdp.js
%{_libdir}/%{name}/plugins/libjanus_duktape.so
%{_libdir}/%{name}/plugins/libjanus_duktape.so.2
%{_libdir}/%{name}/plugins/libjanus_duktape.so.2.0.2
%files plugins-echotest
%doc %{_sysconfdir}/%{name}/%{name}.plugin.echotest.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.echotest.jcfg
%{_libdir}/%{name}/plugins/libjanus_echotest.so
%{_libdir}/%{name}/plugins/libjanus_echotest.so.2
%{_libdir}/%{name}/plugins/libjanus_echotest.so.2.0.2
%files plugins-lua
%doc %{_sysconfdir}/%{name}/%{name}.plugin.lua.jcfg.sample
%dir %{_datadir}/%{name}/lua
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.lua.jcfg
%{_datadir}/%{name}/lua/echotest.lua
%{_datadir}/%{name}/lua/%{name}-logger.lua
%{_datadir}/%{name}/lua/%{name}-sdp.lua
%{_datadir}/%{name}/lua/videoroom.lua
%{_libdir}/%{name}/plugins/libjanus_lua.so
%{_libdir}/%{name}/plugins/libjanus_lua.so.2
%{_libdir}/%{name}/plugins/libjanus_lua.so.2.0.2
%files plugins-nosip
%doc %{_sysconfdir}/%{name}/%{name}.plugin.nosip.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.nosip.jcfg
%{_libdir}/%{name}/plugins/libjanus_nosip.so
%{_libdir}/%{name}/plugins/libjanus_nosip.so.2
%{_libdir}/%{name}/plugins/libjanus_nosip.so.2.0.2
%files plugins-recordplay
%doc %{_sysconfdir}/%{name}/%{name}.plugin.recordplay.jcfg.sample
%dir %{_datadir}/%{name}/recordings
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.recordplay.jcfg
%{_datadir}/%{name}/recordings/1234.nfo
%{_datadir}/%{name}/recordings/rec-sample-audio.mjr
%{_datadir}/%{name}/recordings/rec-sample-video.mjr
%{_libdir}/%{name}/plugins/libjanus_recordplay.so
%{_libdir}/%{name}/plugins/libjanus_recordplay.so.2
%{_libdir}/%{name}/plugins/libjanus_recordplay.so.2.0.2
%files plugins-sip
%doc %{_sysconfdir}/%{name}/%{name}.plugin.sip.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.sip.jcfg
%{_libdir}/%{name}/plugins/libjanus_sip.so
%{_libdir}/%{name}/plugins/libjanus_sip.so.2
%{_libdir}/%{name}/plugins/libjanus_sip.so.2.0.2
%files plugins-streaming
%doc %{_sysconfdir}/%{name}/%{name}.plugin.streaming.jcfg.sample
%dir %{_datadir}/%{name}/streams
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.streaming.jcfg
%{_datadir}/%{name}/streams/music.mulaw
%{_datadir}/%{name}/streams/radio.alaw
%{_datadir}/%{name}/streams/test_gstreamer.sh
%{_datadir}/%{name}/streams/test_gstreamer1.sh
%{_datadir}/%{name}/streams/test_gstreamer1_multistream.sh
%{_datadir}/%{name}/streams/test_gstreamer_multistream.sh
%{_libdir}/%{name}/plugins/libjanus_streaming.so
%{_libdir}/%{name}/plugins/libjanus_streaming.so.2
%{_libdir}/%{name}/plugins/libjanus_streaming.so.2.0.2
%files plugins-textroom
%doc %{_sysconfdir}/%{name}/%{name}.plugin.textroom.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.textroom.jcfg
%{_libdir}/%{name}/plugins/libjanus_textroom.so
%{_libdir}/%{name}/plugins/libjanus_textroom.so.2
%{_libdir}/%{name}/plugins/libjanus_textroom.so.2.0.2
%files plugins-videocall
%doc %{_sysconfdir}/%{name}/%{name}.plugin.videocall.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.videocall.jcfg
%{_libdir}/%{name}/plugins/libjanus_videocall.so
%{_libdir}/%{name}/plugins/libjanus_videocall.so.2
%{_libdir}/%{name}/plugins/libjanus_videocall.so.2.0.2
%files plugins-videoroom
%doc %{_sysconfdir}/%{name}/%{name}.plugin.videoroom.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.videoroom.jcfg
%{_libdir}/%{name}/plugins/libjanus_videoroom.so
%{_libdir}/%{name}/plugins/libjanus_videoroom.so.2
%{_libdir}/%{name}/plugins/libjanus_videoroom.so.2.0.2
# transports
%files transports-http
%doc %{_sysconfdir}/%{name}/%{name}.transport.http.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.transport.http.jcfg
%{_libdir}/%{name}/transports/libjanus_http.so
%{_libdir}/%{name}/transports/libjanus_http.so.2
%{_libdir}/%{name}/transports/libjanus_http.so.2.0.2
%files transports-mqtt
%doc %{_sysconfdir}/%{name}/%{name}.transport.mqtt.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.transport.mqtt.jcfg
%{_libdir}/%{name}/transports/libjanus_mqtt.so
%{_libdir}/%{name}/transports/libjanus_mqtt.so.2
%{_libdir}/%{name}/transports/libjanus_mqtt.so.2.0.2
%files transports-nanomsg
%doc %{_sysconfdir}/%{name}/%{name}.transport.nanomsg.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.transport.nanomsg.jcfg
%{_libdir}/%{name}/transports/libjanus_nanomsg.so
%{_libdir}/%{name}/transports/libjanus_nanomsg.so.2
%{_libdir}/%{name}/transports/libjanus_nanomsg.so.2.0.2
%files transports-pfunix
%doc %{_sysconfdir}/%{name}/%{name}.transport.pfunix.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.transport.pfunix.jcfg
%{_libdir}/%{name}/transports/libjanus_pfunix.so
%{_libdir}/%{name}/transports/libjanus_pfunix.so.2
%{_libdir}/%{name}/transports/libjanus_pfunix.so.2.0.2
%files transports-rabbitmq
%doc %{_sysconfdir}/%{name}/%{name}.transport.rabbitmq.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.transport.rabbitmq.jcfg
%{_libdir}/%{name}/transports/libjanus_rabbitmq.so
%{_libdir}/%{name}/transports/libjanus_rabbitmq.so.2
%{_libdir}/%{name}/transports/libjanus_rabbitmq.so.2.0.2
%files transports-websockets
%doc %{_sysconfdir}/%{name}/%{name}.transport.websockets.jcfg.sample
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.transport.websockets.jcfg
%{_libdir}/%{name}/transports/libjanus_websockets.so
%{_libdir}/%{name}/transports/libjanus_websockets.so.2
%{_libdir}/%{name}/transports/libjanus_websockets.so.2.0.2
%files devel
%dir %{_includedir}/%{name}
%dir %{_includedir}/%{name}/events
%dir %{_includedir}/%{name}/loggers
%dir %{_includedir}/%{name}/plugins
%dir %{_includedir}/%{name}/transports
# headers for plugin development
%{_includedir}/%{name}/apierror.h
%{_includedir}/%{name}/config.h
%{_includedir}/%{name}/debug.h
%{_includedir}/%{name}/events/eventhandler.h
%{_includedir}/%{name}/ip-utils.h
%{_includedir}/%{name}/log.h
%{_includedir}/%{name}/loggers/logger.h
%{_includedir}/%{name}/mutex.h
%{_includedir}/%{name}/plugins/plugin.h
%{_includedir}/%{name}/record.h
%{_includedir}/%{name}/refcount.h
%{_includedir}/%{name}/rtcp.h
%{_includedir}/%{name}/rtp.h
%{_includedir}/%{name}/rtpsrtp.h
%{_includedir}/%{name}/sdp-utils.h
%{_includedir}/%{name}/text2pcap.h
%{_includedir}/%{name}/transports/transport.h
%{_includedir}/%{name}/utils.h
%files tools
# binaries
%{_bindir}/%{name}-pp-rec
%{_bindir}/mjr2pcap
%{_bindir}/pcap2mjr
# manuals
%{_mandir}/man1/mjr2pcap.1.gz
%{_mandir}/man1/pcap2mjr.1.gz
%{_mandir}/man1/%{name}-pp-rec.1.gz
%changelog
* Fri Apr 19 2024 Renich Bon Ciric <renich@woralelandia.comm> - 1.2.2-0
- Updated to v1.2.2.
* Fri Sep 15 2023 Renich Bon Ciric <renich@woralelandia.com> - 1.2.0-3
- Labeled the demo directory with httpd_sys_content_t label.
* Thu Sep 14 2023 Renich Bon Ciric <renich@woralelandia.com> - 1.2.0-2
- Moved .so files into their respective plugins. Plugins don't work without them.
- Added lua-json as a dependency for the lua plugin.
- Added plugin dependencies to janus-demos.
- Added back the audiobridge plugin.
* Tue Aug 15 2023 Renich Bon Ciric <renich@woralelandia.com> - 1.2.0-1
- Updated to v1.2.0.
- Removed the audiobridge plugin.
- Again, selectively including files generated by doxygen in Fedora 37, 38, 39 and rawhide.
- Patched janus so it uses the system's cypher recommendations.
* Wed May 17 2023 Renich Bon Ciric <renich@woralelandia.com> - 1.1.3-1
- Updated to v1.1.3.
- Removed voicemail plugin.
- Removed Fedora 36 support.
* Wed Feb 01 2023 Renich Bon Ćirić <renich@woralelandia.com> - 1.1.2-3
- Removed date from docs package.
- Added make as a build dependency.
* Thu Jan 26 2023 Renich Bon Ćirić <renich@woralelandia.com> - 1.1.2-2
- Fixed file selection for Fedora 37 and onwards.
* Mon Jan 23 2023 Renich Bon Ćirić <renich@woralelandia.com> - 1.1.2-1
- Updated to v1.1.2.
- Selectively including files generated by doxygen.
- Removed libcurl patch since upstream included it.
* Mon Jan 16 2023 Renich Bon Ćirić <renich@woralelandia.com> - 1.1.1-5
- Removed js-jquery explicit requirement from doc.
- Corrected the gstreamer dependency version for tools.
* Wed Jan 04 2023 Renich Bon Ćirić <renich@woralelandia.com> - 1.1.1-4
- Applied patch to fix build. Upstream ticket is: https://github.com/meetecho/janus-gateway/pull/3138.
* Fri Dec 23 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.1.1-3
- Shortened summaries.
- Marked demos and docs as noarch.
- Removed the js-jquery requirement.
* Sun Dec 18 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.1.1-2
- Converted remote web resources to local for docs and demos.
- Added a check finally.
* Fri Dec 16 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.1.1-1
- Updated to v1.1.1.
- Corrected plugins versions.
* Wed Nov 23 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.1.0-5
- Fixed file inclusion in order to avoid duplicates.
* Thu Nov 17 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.1.0-4
- Made dependency of janus in plugins more accurate.
* Mon Oct 31 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.1.0-3
- Fixed directory ownership.
* Tue Oct 18 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.1.0-2
- Re-adding demos and docs in HTML format.
* Mon Oct 03 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.0.4-7
- Adding noarch to doc subpackage.
- Removed doc and demos sub-package for now.
* Thu Sep 22 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.0.4-6
- Renamed package to janus to honor upstream's request.
- Added libpcap-devel so it builds pcap2mjr.
- Relocated some files due to upstream's advice.
- Properly adding configuration files.
- Added system user.
* Wed Sep 21 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.0.4-5
- Dividing package into sub-packages.
- Enabled the json-logger.
* Wed Sep 14 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.0.4-4
- Using name and version macros in main source declaration.
- Moved sample files into doc directory.
* Tue Aug 30 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.0.4-3
- Moved some headers to the -devel subpackage.
- Added BSD-3-Clause and MIT licenses.
- Added missing license file to the doc subpackage.
* Fri Aug 26 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.0.4-2
- Added missing BuildRequires for the systemd unit.
* Thu Aug 18 2022 Renich Bon Ćirić <renich@woralelandia.com> - 1.0.4-1
- first draft

View file

@ -0,0 +1,97 @@
# Generated by go2rpm
%bcond_without check
# https://github.com/nats-io/nats-server
%global goipath github.com/nats-io/nats-server
Version: 2.10.9
%gometa -f
%global goname nats-server
%global goaltipaths github.com/nats-io/gnatsd github.com/nats-io/nats-server/v2
%global common_description %{expand:
A High Performance NATS Server written in Go and hosted by the Cloud Native
Computing Foundation (CNCF).}
%global golicenses LICENSE
%global godocs CODE-OF-CONDUCT.md GOVERNANCE.md MAINTAINERS.md\\\
README.md TODO.md
Name: %{goname}
Release: %autorelease
Summary: High-Performance server for NATS, the cloud native messaging system
# Upstream license specification: Apache-2.0
License: Apache-2.0
URL: %{gourl}
Source0: %{gosource}
BuildRequires: systemd-rpm-macros
BuildRequires: help2man
Requires(pre): shadow-utils
%description
%{common_description}
%gopkg
%prep
%goprep
%generate_buildrequires
%go_generate_buildrequires
%build
%gobuild -o %{gobuilddir}/bin/%{name} %{goipath}
%install
%gopkginstall
install -m 0755 -vd %{buildroot}%{_sbindir}
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_sbindir}/
install -m 0755 -vd %{buildroot}%{_mandir}/man1
help2man --no-discard-stderr --no-info --version-string=%{version} %{buildroot}%{_sbindir}/%{name} > %{buildroot}%{_mandir}/man1/%{name}.1
install -m 0755 -vd %{buildroot}%{_unitdir}
install -m 0755 -vp util/%{name}.service %{buildroot}%{_unitdir}/
install -m 0755 -vd %{buildroot}%{_sysconfdir}
install -m 0755 -vp docker/nats-server.conf %{buildroot}%{_sysconfdir}/
mkdir -p %{buildroot}%{_sharedstatedir}/%{name}
%pre
getent group nats >/dev/null || groupadd -r nats
getent passwd nats >/dev/null || \
useradd -r -g nats -d %{_sharedstatedir}/%{name} -s /sbin/nologin \
-c "NATS Server account" nats
exit 0
%post
%systemd_post %{name}.service
%preun
%systemd_preun %{name}.service
%postun
%systemd_postun_with_restart %{name}.service
%if %{with check}
%check
# logger: needs access to syslog
# server, test: need network
# server/avl: intermittent timeout errors
%gocheck -d logger -d server -d server/avl -d server/pse -d test
%endif
%files
%license LICENSE
%doc CODE-OF-CONDUCT.md GOVERNANCE.md MAINTAINERS.md README.md TODO.md
%{_sbindir}/*
%config(noreplace) %{_sysconfdir}/%{name}.conf
%{_mandir}/man1/%{name}.1*
%{_unitdir}/%{name}.service
%attr(0750, nats, nats) %dir %{_sharedstatedir}/%{name}
%gopkgfiles
%changelog
%autochangelog

View file

@ -0,0 +1,115 @@
Name: sofia-sip
Version: 1.13.16
Release: %autorelease
Summary: Sofia SIP User-Agent library
License: LGPL-2.1-or-later
URL: http://sofia-sip.sourceforge.net/
Source0: https://github.com/freeswitch/%{name}/archive/refs/tags/v%{version}.tar.gz
# https://github.com/freeswitch/sofia-sip/pull/249
Patch0: 0001-Fix-incompatible-pointer-type-in-sip_basic.c.patch
BuildRequires: make
BuildRequires: gcc-c++
BuildRequires: openssl-devel
BuildRequires: glib2-devel
BuildRequires: lksctp-tools-devel
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool >= 1.5.17
%description
Sofia SIP is a RFC-3261-compliant library for SIP user agents and
other network elements. The Session Initiation Protocol (SIP) is an
application-layer control (signaling) protocol for creating,
modifying, and terminating sessions with one or more
participants. These sessions include Internet telephone calls,
multimedia distribution, and multimedia conferences.
%package devel
Summary: Sofia-SIP Development Package
Requires: sofia-sip = %{version}-%{release}
Requires: pkgconfig
%description devel
Development package for Sofia SIP UA library.
%package glib
Summary: Glib bindings for Sofia-SIP
Requires: sofia-sip = %{version}-%{release}
%description glib
GLib interface to Sofia SIP User Agent library.
%package glib-devel
Summary: Glib bindings for Sofia SIP development files
Requires: sofia-sip-glib = %{version}-%{release}
Requires: sofia-sip-devel = %{version}-%{release}
Requires: pkgconfig
%description glib-devel
Development package for Sofia SIP UA Glib library. This package
includes libraries and include files for developing glib programs
using Sofia SIP.
%package utils
Summary: Sofia-SIP Command Line Utilities
Requires: sofia-sip = %{version}-%{release}
%description utils
Command line utilities for the Sofia SIP UA library.
%prep
%autosetup -p1
%build
sh autogen.sh
%configure --disable-rpath --disable-static --without-doxygen --disable-stun
make %{?_smp_mflags}
%install
%make_install
find %{buildroot} -name \*.la -delete
find %{buildroot} -name \*.h.in -delete
find . -name installdox -delete
%ldconfig_scriptlets
%ldconfig_scriptlets glib
%files
%doc AUTHORS ChangeLog ChangeLog.ext-trees COPYING COPYRIGHTS
%doc README README.developers RELEASE TODO
%{_libdir}/libsofia-sip-ua.so.*
%files devel
#%doc libsofia-sip-ua/docs/html
%dir %{_includedir}/sofia-sip-1.13
%dir %{_includedir}/sofia-sip-1.13/sofia-sip
%{_includedir}/sofia-sip-1.13/sofia-sip/*.h
%exclude %{_includedir}/sofia-sip-1.13/sofia-sip/su_source.h
%dir %{_includedir}/sofia-sip-1.13/sofia-resolv
%{_includedir}/sofia-sip-1.13/sofia-resolv/*.h
%{_libdir}/libsofia-sip-ua.so
%{_libdir}/pkgconfig/sofia-sip-ua.pc
%{_datadir}/sofia-sip
%files glib
%{_libdir}/libsofia-sip-ua-glib.so.*
%files glib-devel
%{_includedir}/sofia-sip-1.13/sofia-sip/su_source.h
%{_libdir}/libsofia-sip-ua-glib.so
%{_libdir}/pkgconfig/sofia-sip-ua-glib.pc
%files utils
%{_bindir}/addrinfo
%{_bindir}/localinfo
%{_bindir}/sip-date
%{_bindir}/sip-dig
%{_bindir}/sip-options
%changelog
%autochangelog