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
33 changed files with 1705 additions and 369 deletions

View file

@ -7,8 +7,7 @@ files/backups/*
# variable3s
vars/main.*.yaml
!vars/main.example.yaml
!vars/main.test.yaml
!vars/main.ejemplo.yaml
# misc
*~

View file

@ -32,6 +32,7 @@
roles:
- name: redis
# Este es el collabora
- hosts: coolwsd
vars_files:
- "vars/{{ ansible_facts['os_family'] }}.yaml"
@ -50,8 +51,8 @@
- hosts: turn
vars_files:
- "vars/{{ ansible_facts['os_family'] }}.yaml"
- vars/main.example.yaml
- "vars/{{ ansible_facts['os_family'] }}.yaml"
roles:
- name: turn
- name: nats-server

View file

@ -1,7 +1,7 @@
- hosts: localhost
vars_files:
- "vars/{{ ansible_facts['os_family'] }}.yaml"
- vars/main.test.yaml
- "vars/{{ ansible_facts['os_family'] }}.yaml"
vars:
services:
- nginx
@ -11,37 +11,38 @@
- name: certificates
- hosts: all
serial: 1
vars_files:
- "vars/{{ ansible_facts['os_family'] }}.yaml"
- vars/main.test.yaml
- "vars/{{ ansible_facts['os_family'] }}.yaml"
roles:
- name: common
- hosts: postgresql
vars_files:
- "vars/{{ ansible_facts['os_family'] }}.yaml"
- vars/main.test.yaml
- "vars/{{ ansible_facts['os_family'] }}.yaml"
roles:
- name: postgresql
- hosts: redis
vars_files:
- "vars/{{ ansible_facts['os_family'] }}.yaml"
- vars/main.test.yaml
- "vars/{{ ansible_facts['os_family'] }}.yaml"
roles:
- name: redis
- hosts: coolwsd
vars_files:
- "vars/{{ ansible_facts['os_family'] }}.yaml"
- vars/main.test.yaml
- "vars/{{ ansible_facts['os_family'] }}.yaml"
roles:
- name: coolwsd
- hosts: nextcloud
vars_files:
- "vars/{{ ansible_facts['os_family'] }}.yaml"
- vars/main.test.yaml
- "vars/{{ ansible_facts['os_family'] }}.yaml"
roles:
- name: nextcloud
- name: coolwsd-nginx
@ -49,10 +50,11 @@
- hosts: turn
vars_files:
- "vars/{{ ansible_facts['os_family'] }}.yaml"
- vars/main.test.yaml
- "vars/{{ ansible_facts['os_family'] }}.yaml"
roles:
- name: turn
- name: nats-server
- name: signaling-server
- name: janus

View file

@ -1,29 +1,12 @@
# If your FQDNs are resolvable, then you don't need the ansible_host= part. If they're not, you need to change the IPs and add all
# these entries to the /etc/hosts file of the deployment server (a.k.a. where the ansible-playbooks reside).
#
# For example:
#
# /etc/hosts:
# # Loopback entries; do not change.
# For historical reasons, localhost precedes localhost.localdomain:
# 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
# ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#
# # my nextcloud
# 192.168.0.10 nx0.example.com nx0
# 192.168.0.11 db0.example.com db0
# 192.168.0.12 rds0.example.com rds0
# 192.168.0.13 cl0.example.com cl0
[nextcloud]
nx0.example.com ansible_host=192.168.0.10
[redis]
<your server fqdn>
[postgresql]
db0.example.com ansible_host=192.168.0.11
<your server fqdn>
[redis]
rds0.example.com ansible_host=192.168.0.12
[nextcloud]
<your server fqdn>
[coolwsd]
cl0.example.com ansible_host=192.168.0.13
<your server fqdn>

View file

@ -1,42 +1,25 @@
# If your FQDNs are resolvable, then you don't need the ansible_host= part. If they're not, you need to change the IPs and add all
# these entries to the /etc/hosts file of the deployment server (a.k.a. where the ansible-playbooks reside).
#
# For example:
#
# /etc/hosts:
# # Loopback entries; do not change.
# For historical reasons, localhost precedes localhost.localdomain:
# 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
# ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#
# # my nextcloud
# 192.168.0.10 nx0.example.com nx0
# 192.168.0.11 db0.example.com db0
# 192.168.0.12 rds0.example.com rds0
# 192.168.0.13 cl0.example.com cl0
# 192.168.0.14 turn0.example.com turn0
[nextcloud]
nx0.example.com ansible_host=192.168.0.10
[redis]
<your server fqdn>
[postgresql]
db0.example.com ansible_host=192.168.0.11
<your server fqdn>
[redis]
rds0.example.com ansible_host=192.168.0.12
[nextcloud]
<your server fqdn>
[coolwsd]
cl0.example.com ansible_host=192.168.0.13
<your server fqdn>
# Nextcloud Talk
# Uncomment this if you're going to use HA with Nextcloud Talk
[turn]
turn0.example.com ansible_host=192.168.0.14
<turn server fqdn>
[nats]
turn0.example.com ansible_host=192.168.0.14
<nats server fqdn> ansible_host=<nats server IP>
[signaling]
turn0.example.com ansible_host=192.168.0.14
<signaling spreed server fqdn> ansible_host=<signaling server IP>
[janus]
turn0.example.com ansible_host=192.168.0.14
<janus server fqdn> ansible_host=<janus server IP>

View file

@ -1,23 +1,24 @@
[nextcloud]
nx0.test.virt.g02.org ansible_host=192.168.0.41
nx0-test.libreoffice.gob.mx ansible_host=10.201.15.250
[postgresql]
db0.test.virt.g02.org ansible_host=192.168.0.40
db0-test.libreoffice.gob.mx ansible_host=10.201.15.220
[redis]
rds0.test.virt.g02.org ansible_host=192.168.0.39
rds0-test.libreoffice.gob.mx ansible_host=10.201.15.24
[coolwsd]
cl0.test.virt.g02.org ansible_host=192.168.0.42
clwsd0-test.libreoffice.gob.mx ansible_host=10.201.15.132
[turn]
turn0.test.virt.g02.org ansible_host=192.168.0.43
turn1.softwarelibre.mx
[nats]
turn0.test.virt.g02.org ansible_host=192.168.0.43
nats1.softwarelibre.mx ansible_host=10.201.15.199
[signaling]
turn0.test.virt.g02.org ansible_host=192.168.0.43
signaling1.softwarelibre.mx ansible_host=10.201.15.199
[janus]
turn0.test.virt.g02.org ansible_host=192.168.0.43
janus1.softwarelibre.mx ansible_host=10.201.15.199

View file

@ -24,17 +24,3 @@
include_tasks: redhat_tasks.yaml
when: ansible_facts['os_family'] == 'RedHat'
- name: "Set hostname"
ansible.builtin.hostname:
name: "{{ inventory_hostname }}"
use: systemd
- name: "Build hosts file"
lineinfile:
dest: /etc/hosts
regexp: '.*{{ item }}$'
line: "{{ hostvars[item]['ansible_default_ipv4']['address'] }} {{ hostvars[item]['ansible_fqdn'] }} {{ hostvars[item]['ansible_hostname'] }}"
state: present
when: hostvars[item].ansible_default_ipv4.address is defined
loop: "{{ groups['all'] }}"

View file

@ -37,7 +37,6 @@
# static files
location ^~ /browser {
rewrite ^/browser/([0-9]+(\.[0-9]+)+)/(.*)$ /browser/dist/$3 last;
proxy_pass http://{{ coolwsd_host }}:9980;
proxy_set_header Host $http_host;
}

View file

@ -1,45 +1,35 @@
---
# tasks file for coolwsd
# tasks file for coolwsd
- name: Import GobMx key
ansible.builtin.rpm_key:
state: present
key: https://repos.libreoffice.gob.mx/centos/libreoffice.gob.mx.gpg
#TODO: Esta parte hay que sacarla de nuestros propios repos
- name: Import Collabora key
ansible.builtin.rpm_key:
state: present
key: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos8/repodata/repomd.xml.key
- name: Install libreoffice.gob.mx CentOS repo
get_url:
url: https://repos.libreoffice.gob.mx/centos/libreoffice.gob.mx.repo
dest: /etc/yum.repos.d/libreoffice.gob.mx.repo
mode: '0644'
owner: root
group: root
- name: Add Collabora repository for Red Hat distros
yum_repository:
name: CollaboraOnline
description: Collabora Online
baseurl: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-centos8
- name: Install Collabora Online Packages
package:
name:
- coolwsd
state: latest
- name: Install Collabora Online Packages
package:
name:
- coolwsd
- CODE-brand
state: latest
- name: Copy collabora configuration files
template:
src: templates/coolwsd.xml.j2
dest: /etc/coolwsd/coolwsd.xml
- name: Copy collabora configuration files
template:
src: templates/coolwsd.xml.j2
dest: /etc/coolwsd/coolwsd.xml
- name: Enable Libre Office Web services
systemd:
name: coolwsd
enabled: yes
state: restarted
tags:
- nextcloud_collabora
- name: Open up required firewall ports
block:
- name: Open ports for CODE service
ansible.posix.firewalld:
port: 9980/tcp
permanent: yes
immediate: true
state: enabled
when: code_firewalld_enabled | bool
- name: Enable Libre Office Web services
systemd:
name: coolwsd
enabled: yes
state: restarted
tags:
- nextcloud_collabora

View file

@ -4,6 +4,14 @@
name: '*'
state: latest
- name: Install libreoffice.gob.mx repo
get_url:
url: https://repos.libreoffice.gob.mx/fedora/libreoffice.gob.mx.repo
dest: /etc/yum.repos.d/libreoffice.gob.mx.repo
mode: '0644'
owner: root
group: root
- name: Install required packages
ansible.builtin.package:
name:

View file

@ -20,7 +20,7 @@
ansible.builtin.shell:
cmd: |
/usr/bin/php "{{ nextcloud_occ }}" talk:turn:delete {{ turn_fqdn }}:3478 udp,tcp
/usr/bin/php "{{ nextcloud_occ }}" talk:turn:add --secret={{ turn_static_auth_secret }} -- turn,turns {{ turn_fqdn }}:3478 udp,tcp
/usr/bin/php "{{ nextcloud_occ }}" talk:turn:add --secret={{ turn_static_auth_secret }} -- {{ turn_fqdn }}:3478 udp,tcp
become: true
become_user: "{{ web_user }}"

View file

@ -3,7 +3,6 @@
package:
state: latest
name:
- bzip2
- nginx
- php-cli
- php-curl
@ -19,8 +18,6 @@
- php-json
- php-ldap
- php-mbstring
- php-memcache
- php-opcache
- php-openssl
- php-pcre
- php-pdo
@ -39,6 +36,7 @@
- python3-pyOpenSSL
- sudo
- tar
- bzip2
- name: Create nextcloud nginx configuration directory
ansible.builtin.file:
@ -139,24 +137,6 @@
enabled: yes
state: restarted
- name: Open up required firewall ports
block:
- name: Open ports for HTTP service
ansible.posix.firewalld:
service: http
permanent: yes
immediate: true
state: enabled
- name: Open ports for HTTPS service
ansible.posix.firewalld:
service: https
permanent: yes
immediate: true
state: enabled
when: nextcloud_firewalld_enabled | bool
- name: Remove config_is_read_only setting from config.php
lineinfile:
path: "{{ nextcloud_path }}/config/config.php"

View file

@ -75,13 +75,3 @@
tags:
- database
- name: Open up required firewall ports
block:
- name: Open ports for PostgreSQL service
ansible.posix.firewalld:
service: postgresql
permanent: yes
immediate: true
state: enabled
when: postgresql_firewalld_enabled | bool

View file

@ -1,31 +1,54 @@
---
# tasks file for pre
- name: Create fact directory
file:
path: /etc/ansible/facts.d/
state: directory
- name: Update the /etc/hosts file with node host name
tags: etchostsupdate
become: yes
become_user: root
lineinfile:
path: "/etc/hosts"
regexp: ".*\t{{ ansible_hostname }}"
#TODO: crear una variable que tenga la IP del balanceador
line: "{{ nextcloud_host_ip }}\t{{ nextcloud_fqdn }} {{ nextcloud_hostname }}"
state: present
backup: yes
register: etchostsupdate
- name: Create nextcloud custom facts
copy:
src: nextcloud.fact
dest: /etc/ansible/facts.d/nextcloud.fact
mode: 0775
force: yes
tags:
- check_facts
# - name: Update the /etc/hosts file with node domain name
# tags: etchostsupdate_domain
# become: yes
# become_user: root
# lineinfile:
# path: "/etc/hosts"
# line: "{{ nextcloud_host }}\t{{ nextcloud_fqdn }}"
# state: present
# backup: yes
- name: Check if nextcloud is unpacked
stat:
path: /var/www/html/config/config.sample.php
register: nextcloud_is_unpacked
- name: Create fact directory
file:
path: /etc/ansible/facts.d/
state: directory
- name: Reload facts
setup:
tags:
- check_facts
- name: Create nextcloud custom facts
copy:
src: nextcloud.fact
dest: /etc/ansible/facts.d/nextcloud.fact
mode: 0775
force: yes
tags:
- check_facts
- name: Pre tasks for Red Hat distros
include_tasks: redhat_pre_tasks.yaml
when:
ansible_facts['os_family'] == "RedHat"
- name: Check if nextcloud is unpacked
stat:
path: /var/www/html/config/config.sample.php
register: nextcloud_is_unpacked
- name: Reload facts
setup:
tags:
- check_facts
- name: Pre tasks for Red Hat distros
include_tasks: redhat_pre_tasks.yaml
when:
ansible_facts['os_family'] == "RedHat"

View file

@ -1,8 +1,5 @@
- name: Enable The CRB Repository
ansible.builtin.command: /usr/bin/dnf config-manager --set-enabled crb
when:
- ansible_os_family == 'RedHat'
- ansible_distribution != 'Fedora'
#- name: "Install Remi repo GPG key"
# rpm_key:
@ -28,9 +25,6 @@
ansible.builtin.rpm_key:
state: present
key: "https://rpms.remirepo.net/enterprise/{{ansible_distribution_major_version}}/RPM-GPG-KEY-remi"
when:
- ansible_os_family == 'RedHat'
- ansible_distribution != 'Fedora'
- name: Remi::Install REMI repository
dnf:
@ -56,9 +50,6 @@
- name: Remi::Reset PHP module
ansible.builtin.command: /usr/bin/dnf -y module reset php
when:
- ansible_os_family == 'RedHat'
- ansible_distribution != 'Fedora'
- name: Remi::Install PHP {{ php_version }} module
ansible.builtin.command: /usr/bin/dnf -y module install php:remi-{{ php_version }}

View file

@ -33,13 +33,3 @@
tags:
- check_redis
- name: Open up required firewall ports
block:
- name: Open ports for Redis service
ansible.posix.firewalld:
service: redis
permanent: yes
immediate: true
state: enabled
when: redis_firewalld_enabled | bool

View file

@ -3,4 +3,4 @@
ansible.builtin.systemd:
state: restarted
daemon_reload: yes
name: signaling
name: signaling-server

View file

@ -4,21 +4,29 @@
state: latest
name: '*'
- name: Install libreoffice.gob.mx repo
get_url:
url: https://repos.libreoffice.gob.mx/fedora/libreoffice.gob.mx.repo
dest: /etc/yum.repos.d/libreoffice.gob.mx.repo
mode: '0644'
owner: root
group: root
- name: Install required packages
ansible.builtin.package:
state: latest
name:
- certbot
- openssl
- nextcloud-spreed-signaling
- name: Install signaling-server
block:
# TODO: Empaquetar signaling y proveerlo en Fedora
- name: Download signaling
get_url:
url: https://repos.libreoffice.gob.mx/signaling/signaling-latest.tar.gz
dest: /usr/src/signaling-latest.tar.gz
checksum: "{{ signaling_checksum }}"
- name: Unpack signaling-server
ansible.builtin.unarchive:
src: /usr/src/signaling-latest.tar.gz
dest: /
remote_src: yes
owner: root
group: root
- name: Generate singaling hashkey and blockkey
block:
@ -40,6 +48,24 @@
register: signaling_apikey
failed_when: signaling_apikey.stdout | length != 32
- name: Configure signaling-server
block:
- name: Create signaling-server system user
ansible.builtin.user:
name: signaling
system: yes
shell: /sbin/nologin
home: /var/lib/signaling
state: present
- name: Create configuration directory
ansible.builtin.file:
path: /etc/signaling
state: directory
mode: '0750'
owner: root
group: signaling
- name: Setup configuration file
ansible.builtin.template:
src: signaling-server.conf.j2
@ -49,6 +75,15 @@
mode: '0640'
notify: Systemd daemon-reload and restart
- name: Put signaling-server systemd service in place
ansible.builtin.copy:
src: signaling-server.service
dest: /etc/systemd/system/signaling-server.service
owner: root
group: root
mode: '0644'
notify: Systemd daemon-reload and restart
- name: Open up required firewall ports
block:
- name: Open up TCP port 80 for LetsEncrypt
@ -116,6 +151,6 @@
- name: Start and enable signaling
ansible.builtin.service:
name: signaling
name: signaling-server
enabled: yes

View file

@ -1,30 +1,26 @@
---
# NextCloud
# The nexctloud_checksum changes with every release to get this string go to:
# https://download.nextcloud.com/server/releases/ and download the *.sha256 file
# for the proper version
## version
nextcloud_version: 29.0.2
nextcloud_checksum: "sha256:2d49d297dc340092021057823e8e78a312bc00f56de7d8677ac790590918ab17"
nextcloud_url: https://download.nextcloud.com/server/releases/nextcloud-{{ nextcloud_version }}.tar.bz2
php_version: 8.3
nextcloud_version: 26.0.0
nextcloud_url: https://repos.libreoffice.gob.mx/nextcloud/nextcloud-{{nextcloud_version}}.tar.bz2
nextcloud_checksum: "sha256:f163150363aee9366ecb5cd5259bf6756ed4f073cea78b5fa515cada7a0d0c3d"
php_version: 8.2
## credentials
nextcloud_admin_user: admin
nextcloud_admin_password: UnaContraseñaBienDifícil.
nextcloud_admin_user: el_admin
nextcloud_admin_password: Una contraseña bien difícil.
## domain
nextcloud_fqdn: cs9-nc-nx0.test.virt.g02.org
nextcloud_host_ip: "{{ hostvars['cs9-nc-nx0.test.virt.g02.org']['ansible_default_ipv4']['address'] }}"
nextcloud_hostname: cs9-nc-nx0
nextcloud_fqdn: nextcloud.midominio.tld
nextcloud_host_ip: 10.0.5.33
nextcloud_hostname: nextcloud
## db
db_host: cs9-nc-db0.test.virt.g02.org
db_host: 10.0.5.43
nextcloud_db: nextcloud
nextcloud_db_user: nextcloud
nextcloud_db_user_password: Unacontraseñabien.
postgresql_firewalld_enabled: true
nextcloud_db_user_password: Una contraseña bien, pero bien difícil.
## LDAP
ldap_enabled: false
@ -49,7 +45,7 @@ ldapConfigurationActive: 1
nextcloud_occ: "{{ nextcloud_path }}/occ"
## S3
nextcloud_s3_enabled: false
nextcloud_s3_enabled: true
nextcloud_s3_hostname: dirección_ip_o_hostname # cámbiame
nextcloud_s3_key: usuario # cámbiame
nextcloud_s3_secret: password_muy_difícil # cámbiame
@ -58,16 +54,14 @@ nextcloud_s3_bucket: contenedor # cámbiame
## security
## Set this to true for production
nextcloud_config_is_read_only: true
nextcloud_firewalld_enabled: true
# Redis
redis_host: cs9-nc-rds0.test.virt.g02.org
redis_host: 10.0.5.53
redis_user: nextcloud
redis_password: ParángariCutirimiNoMeAcuerdoCuaro
redis_url: "https://{{ redis_host }}"
redis_path: /etc/redis
redis_firewalld_enabled: true
# SSL
@ -79,40 +73,39 @@ generate_self_signed_cert: true
# Colabora Online (coolwsd)
coolwsd_host: cs9-nc-cl0.test.virt.g02.org
coolwsd_host: 10.0.5.64
code_enable_ssl: false
code_enable_ssl_termination: true
code_ssl_key: ""
code_ssl_cert: ""
code_ssl_ca: ""
code_firewalld_enabled: true
## The only way to make notify_push work without a signed cert is to use plain http
notify_push_nextcloud_url: http://localhost
# reverse proxy
reverse_proxy_ip: "{{ hostvars['cs9-nc-nx0.test.virt.g02.org']['ansible_default_ipv4']['address'] }}"
reverse_proxy_ip: 10.0.5.1
# turn
turn_fqdn: f40-nc-turn0.test.virt.g02.org
turn_fqdn: turn0.midominio.tld
turn_firewalld_enabled: false
turn_letsencrypt_certificate_enabled: false
turn_letsencrypt_certificate_enabled: true
turn_static_auth_secret: OtroSecretoBienSuperDifícilDeAdivinar
# nats
nats_fqdn: f40-nc-turn0.test.virt.g02.org
nats_fqdn: turn0.midominio.tld
nats_firewalld_enabled: false
nats_letsencrypt_certificate_enabled: false
# signaling
signaling_fqdn: f40-nc-turn0.test.virt.g02.org
signaling_fqdn: turn0.midominio.tld
signaling_debug: false
signaling_firewalld_enabled: false
signaling_letsencrypt_certificate_enabled: false
signaling_letsencrypt_certificate_enabled: true
signaling_connections_per_host: 16
signaling_backend_name: nextcloud
signaling_checksum: sha256:fb505651bab4f91f6c60d2308541e1bf695f4177aa4f92e01bc1c8982bd3db76

View file

@ -1,133 +0,0 @@
---
# NextCloud
# The nexctloud_checksum changes with every release to get this string go to:
# https://download.nextcloud.com/server/releases/ and download the *.sha256 file
# for the proper version
## version
nextcloud_version: 29.0.2
nextcloud_checksum: "sha256:2d49d297dc340092021057823e8e78a312bc00f56de7d8677ac790590918ab17"
nextcloud_url: https://download.nextcloud.com/server/releases/nextcloud-{{ nextcloud_version }}.tar.bz2
php_version: 8.3
## credentials
nextcloud_admin_user: admin
nextcloud_admin_password: UnaContraseñaBienDifícil.
## domain
nextcloud_fqdn: nx0.example.com
nextcloud_host_ip: "{{ hostvars['cs9-nc-nx0.test.virt.g02.org']['ansible_default_ipv4']['address'] }}"
nextcloud_hostname: nx0
## db
db_host: db0.example.com
nextcloud_db: nextcloud
nextcloud_db_user: nextcloud
nextcloud_db_user_password: Unacontraseñabien.
postgresql_firewalld_enabled: true
## LDAP
ldap_enabled: false
ldap_agent_password: cIBI4mLESN1nSrAPr7pX3350NPXkD3vExjr27X1ju
ldap_server_host: id0.example.com
ldapBase: "cn=users,cn=accounts,dc=softwarelibre,dc=mx"
ldapBaseGroups: "cn=users,cn=accounts,dc=softwarelibre,dc=mx"
ldapBaseUsers: "cn=users,cn=accounts,dc=softwarelibre,dc=mx"
ldapAgentName: "cn=Directory Manager"
ldapAgentPassword: "{{ ldap_agent_password }}"
ldapHost: "{{ ldap_server_host }}"
hasMemberOfFilterSupport: 1
ldapEmailAttribute: mail
ldapLoginFilter: "(&(&(|(objectclass=posixAccount)))(|(uid=%uid)(|(mailPrimaryAddress=%uid)(mail=%uid))))"
ldapPort: 389
ldapUserFilter: "(&(|(objectclass=posixAccount)))"
ldapUserFilterObjectclass: posixAccount
ldapConfigurationActive: 1
## occ
nextcloud_occ: "{{ nextcloud_path }}/occ"
## S3
nextcloud_s3_enabled: true
nextcloud_s3_hostname: fqdn_or_ip # change me
nextcloud_s3_key: usuario # change me
nextcloud_s3_secret: password_muy_difícil # change me
nextcloud_s3_bucket: contenedor # change me
## security
## Set this to true for production
nextcloud_config_is_read_only: true
nextcloud_firewalld_enabled: true
# Redis
redis_host: rds0.example.com
redis_user: nextcloud
redis_password: ParángariCutirimiNoMeAcuerdoCuaro
redis_url: "https://{{ redis_host }}"
redis_path: /etc/redis
redis_firewalld_enabled: true
# SSL
key_size: 4096
key_type: RSA # Others include DSA, ECC, Ed25519, Ed448, X25519, X448
country_name: MX
organization_name: Mi Organización bien chida, LTD
generate_self_signed_cert: true
# Colabora Online (coolwsd)
coolwsd_host: cl0.example.com
code_enable_ssl: false
code_enable_ssl_termination: true
code_ssl_key: ""
code_ssl_cert: ""
code_ssl_ca: ""
code_firewalld_enabled: true
## The only way to make notify_push work without a signed cert is to use plain http
notify_push_nextcloud_url: http://localhost
# reverse proxy
reverse_proxy_ip: "{{ hostvars['cs9-nc-nx0.test.virt.g02.org']['ansible_default_ipv4']['address'] }}"
# turn
turn_fqdn: turn0.example.com
turn_firewalld_enabled: false
turn_letsencrypt_certificate_enabled: true
turn_static_auth_secret: OtroSecretoBienSuperDifícilDeAdivinar
# nats
nats_fqdn: turn0.example.com
nats_firewalld_enabled: false
nats_letsencrypt_certificate_enabled: false
# signaling
signaling_fqdn: turn0.example.com
signaling_debug: false
signaling_firewalld_enabled: false
signaling_letsencrypt_certificate_enabled: true
signaling_connections_per_host: 16
signaling_backend_name: nextcloud
signaling_checksum: sha256:fb505651bab4f91f6c60d2308541e1bf695f4177aa4f92e01bc1c8982bd3db76
# janus
janus_firewalld_enabled: false
janus_letsencrypt_certificate_enabled: false
janus_stun_server_ip: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}"
janus_turn_server_ip: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}"
# nextcloud spreed (talk)
nextcloud_talk_turn_server: "{{ turn_fqdn }}"
nextcloud_talk_signaling_server: "https://{{ turn_fqdn }}:8443"
nextcloud_talk_signaling_server_secret: ElMegaSecretoDeSignalingQueNadieSabe.
nextcloud_talk_stun_server: "{{ turn_fqdn }}"

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