You are not logged in.

#1 2005-03-29 22:14:10

Michel
Member
From: Belgium
Registered: 2004-07-31
Posts: 286

[updated] asterisk-conf-sample

PKGBUILD:

# Contributor: Michel Brabants <michel.linux@tiscali.be>

pkgname=asterisk-conf-sample
pkgver=1.2.0
pkgrel=1
pkgdesc="Sample configuration-files of Asterisk-PBX"
source=(http://ftp.digium.com/pub/asterisk/asterisk-$pkgver.tar.gz 
        asterisk-conf.install
    )
backup=('etc/asterisk/adtranvofr.conf' 'etc/asterisk/adsi.conf' 'etc/asterisk/alarmreceiver.conf' 'etc/asterisk/agents.conf' 
        'etc/asterisk/asterisk.adsi' 'etc/asterisk/alsa.conf' 'etc/asterisk/asterisk.conf' 'etc/asterisk/cdr_manager.conf' 'etc/asterisk/cdr_odbc.conf' 
        'etc/asterisk/cdr_pgsql.conf' 'etc/asterisk/cdr_tds.conf' 'etc/asterisk/enum.conf' 'etc/asterisk/extconfig.conf' 'etc/asterisk/extensions.conf' 
        'etc/asterisk/features.conf' 'etc/asterisk/festival.conf' 'etc/asterisk/iax.conf' 'etc/asterisk/iaxprov.conf' 'etc/asterisk/indications.conf' 
        'etc/asterisk/logger.conf' 'etc/asterisk/manager.conf' 'etc/asterisk/meetme.conf' 'etc/asterisk/mgcp.conf' 'etc/asterisk/modem.conf' 
        'etc/asterisk/modules.conf' 'etc/asterisk/musiconhold.conf' 'etc/asterisk/osp.conf' 'etc/asterisk/oss.conf' 'etc/asterisk/phone.conf' 
        'etc/asterisk/privacy.conf' 'etc/asterisk/queues.conf' 'etc/asterisk/res_config_odbc.conf' 'etc/asterisk/res_odbc.conf' 'etc/asterisk/rpt.conf' 
        'etc/asterisk/rtp.conf' 'etc/asterisk/sip.conf' 'etc/asterisk/skinny.conf' 'etc/asterisk/telcordia-1.adsi' 'etc/asterisk/voicemail.conf' 
        'etc/asterisk/vpb.conf' 'etc/asterisk/zapata.conf')
url="http://www.asterisk.org/"
depends=('coreutils')
install="asterisk-conf.install"
md5sums=('61d7f29b586ba9b9b5fbb67f952fd3ca' '8ad868a5402e5899abff4f94f38cff87')

build() {
  cd $startdir/src/asterisk-$pkgver
  make ASTVARRUNDIR=/var/run/asterisk DESTDIR=$startdir/pkg samples

  #some directories and files are already in the main package, so we delete them here. Deleting too much?
  rm -rf $startdir/pkg/var/lib/asterisk/agi-bin;
  rm -f $startdir/pkg/var/lib/asterisk/images/asterisk-intro.jpg
  rm -rf $startdir/pkg/var/lib/asterisk/sounds/{agent*,auth*,beep*,conf*,digits*,dir*,invalid*,letters*,pbx*,phonetic*,privacy*,queue*,s*,t*,v*,demo*};
}

asterisk-conf.install:

# This is a default template for a post-install scriptlet.  You can
# remove any functions you don't need (and this header).

# arg 1:  the new package version
pre_install() {
  /bin/true
}

# arg 1:  the new package version
post_install() {
  #get asterisk-user and -group and set the own/group and permissions of the files

  declare -r local lsString=$(getAsteriskUserAndGroup);
  #todo: error detection: if asterisk-file doesn't exist
  declare -r local asteriskUser=$(getAsteriskUser "$lsString");
  #todo: error detection: if asterisk-file doesn't exist
  declare -r local asteriskGroup=$(getAsteriskGroup "$lsString");

  update_permissions;
  update_owners "$asteriskUser" "$asteriskGroup";

  return 0;
}

# arg 1:  the new package version
# arg 2:  the old package version
pre_upgrade() {
  /bin/true
}

# arg 1:  the new package version
# arg 2:  the old package version
post_upgrade() {
    #get asterisk-user and -group and set the own/group and permissions of the files

    declare -r local lsString=$(getAsteriskUserAndGroup);
    #todo: error detection: if asterisk-file doesn't exist
    declare -r local asteriskUser=$(getAsteriskUser "$lsString");
    #todo: error detection: if asterisk-file doesn't exist
    declare -r local asteriskGroup=$(getAsteriskGroup "$lsString");

    update_permissions;
    update_owners "$asteriskUser" "$asteriskGroup";

    return 0;

}

# arg 1:  the old package version
pre_remove() {
  /bin/true
}

# arg 1:  the old package version
post_remove() {
  /bin/true
}

#############################
#############################

# returns string
getAsteriskUserAndGroup () {
    echo $(ls -l /usr/sbin/asterisk);

    return 0;
}


# arg 1: lsString
getAsteriskUser() {
    declare -r local lsString=$1;
    echo $lsString | cut -f 3 -s -d " " -;
    
    return 0;
}

#arg 1: lsString
getAsteriskGroup() {
    declare -r local lsString=$1;
    echo $lsString | cut -f 4 -s -d " " -;

    return 0;
}

#extra sounds: demo-...
#default voicemail-configuration
#file in mohmp3
#default configuration-files in /etc
update_permissions() {
    echo -n "Setting permissions ...";
  
      `chmod 750 /var/spool/asterisk`
    `chmod 750 /var/spool/asterisk/voicemail`
    `chmod 750 /var/spool/asterisk/voicemail/default`
    `chmod 750 /var/spool/asterisk/voicemail/default/1234/`
    `chmod 640 /var/spool/asterisk/voicemail/default/1234/*`
    `chmod 750 /var/lib/asterisk`
    `chmod 750 /var/lib/asterisk/mohmp3`
    `chmod 640 /var/lib/asterisk/mohmp3/*`
    `chmod 750 /var/lib/asterisk/sounds`
    `chmod 640 /var/lib/asterisk/sounds/demo-*`
    `chmod 750 /etc/asterisk`
    `chmod 640 /etc/asterisk/*`

    echo "OK";

    return 0;
}

# arg 1: username
# arg 2: groupname
update_owners() {
    declare -r local userName=$1;
    declare -r local groupName=$2;

    echo -n "Setting owner:group of asterisk-configuration-files to $userName:$groupName ...";
    #change file- and directory-ownerships: how-to easily detect if something went wrong? (trap?) more efficient if ownership and permissions are done at once 

    `chown $userName:$groupName /var/spool/asterisk`
    `chown $userName:$groupName /var/spool/asterisk/voicemail`
    `chown $userName:$groupName /var/spool/asterisk/voicemail/default`
    `chown -R $userName:$groupName /var/spool/asterisk/voicemail/default/1234/`
    `chown $userName:$groupName /var/lib/asterisk`
    `chown $userName:$groupName /var/lib/asterisk/mohmp3`
    `chown -R $userName:$groupName /var/lib/asterisk/mohmp3/*`
    `chown -R $userName:$groupName /var/lib/asterisk/sounds/demo-*`
    `chown $userName:$groupName /var/lib/asterisk/sounds`
    `chown $userName:$groupName /etc/asterisk`
    `chown -R $userName:$groupName /etc/asterisk/*`

    echo "OK";

    return 0;
}

op=$1
shift
$op $*

Offline

#2 2005-08-12 21:21:34

Michel
Member
From: Belgium
Registered: 2004-07-31
Posts: 286

Re: [updated] asterisk-conf-sample

updated to 1.0.9 + small enhancements

Offline

#3 2005-09-17 12:12:19

Michel
Member
From: Belgium
Registered: 2004-07-31
Posts: 286

Re: [updated] asterisk-conf-sample

Heya,

updated the download-url. You don't need this update it you have 1.0.9 already installed.

greetings,

Michel

Offline

#4 2005-11-25 22:59:27

Michel
Member
From: Belgium
Registered: 2004-07-31
Posts: 286

Re: [updated] asterisk-conf-sample

updare to 1.2.0

Offline

Board footer

Powered by FluxBB