fc33fa599d
If the build system for packages has a umask of `0077`, cloned repositories will have no permissions for group and other. As the build scripts for some packages just copy from clone git repos, this will preserve the permissions in the package and prevent the following services from startup: * `bbb-html5` * `etherpad` * `bbb-pads` * `bbb-export-annotations` * `bbb-rap-*` This patch grants everyone read permissions to the code in the packages.
67 lines
1.9 KiB
Bash
Executable File
67 lines
1.9 KiB
Bash
Executable File
#!/bin/bash -ex
|
|
|
|
TARGET=`basename $(pwd)`
|
|
|
|
|
|
PACKAGE=$(echo $TARGET | cut -d'_' -f1)
|
|
VERSION=$(echo $TARGET | cut -d'_' -f2)
|
|
DISTRO=$(echo $TARGET | cut -d'_' -f3)
|
|
|
|
#
|
|
# Clean up directories
|
|
rm -rf staging
|
|
|
|
#
|
|
# Create directory for fpm to process
|
|
DIRS="/usr/local/bigbluebutton/core \
|
|
/etc/logrotate.d \
|
|
/var/bigbluebutton/recording/status/ended \
|
|
/var/bigbluebutton/captions/inbox \
|
|
/var/bigbluebutton/recording/status"
|
|
for dir in $DIRS; do
|
|
mkdir -p staging$dir
|
|
done
|
|
|
|
##
|
|
|
|
mkdir -p staging/var/log/bigbluebutton
|
|
cp -r scripts lib Gemfile Gemfile.lock staging/usr/local/bigbluebutton/core
|
|
|
|
pushd staging/usr/local/bigbluebutton/core
|
|
bundle config set --local deployment true
|
|
bundle install
|
|
# Remove unneeded files to reduce package size
|
|
bundle clean
|
|
rm -r vendor/bundle/ruby/*/cache
|
|
find vendor/bundle -name '*.o' -delete
|
|
chmod -R a+rX .
|
|
find vendor/bundle/ruby/*/gems/resque-*/lib/resque/server/public -type f -name "*.png" -execdir chmod 0644 {} \;
|
|
find vendor/bundle/ruby/*/gems/resque-*/bin -type f -execdir chmod 0755 {} \;
|
|
popd
|
|
|
|
cp Rakefile staging/usr/local/bigbluebutton/core
|
|
cp bbb-record-core.logrotate staging/etc/logrotate.d
|
|
|
|
SYSTEMDSYSTEMUNITDIR=$(pkg-config --variable systemdsystemunitdir systemd)
|
|
mkdir -p "staging${SYSTEMDSYSTEMUNITDIR}"
|
|
cp systemd/* "staging${SYSTEMDSYSTEMUNITDIR}"
|
|
|
|
if [ -f "staging/usr/local/bigbluebutton/core/scripts/basic_stats.nginx" ]; then \
|
|
mkdir -p staging/usr/share/bigbluebutton/nginx; \
|
|
mv staging/usr/local/bigbluebutton/core/scripts/basic_stats.nginx staging/usr/share/bigbluebutton/nginx; \
|
|
fi
|
|
|
|
##
|
|
|
|
. ./opts-$DISTRO.sh
|
|
|
|
fpm -s dir -C ./staging -n $PACKAGE \
|
|
--version $VERSION --epoch $EPOCH \
|
|
--before-install before-install.sh \
|
|
--after-install after-install.sh \
|
|
--before-remove before-remove.sh \
|
|
--description "BigBlueButton record and playback" \
|
|
$DIRECTORIES \
|
|
$OPTS \
|
|
-d 'yq (>= 3)' -d 'yq (<< 4)'
|