Skip to content
This repository was archived by the owner on Nov 17, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion rat-excludes
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
# The following commands can be used to run a Apache RAT check locally -

# Docker based 1-click-method:
# ci/build.py -p ubuntu_cpu test_rat_check
# ci/build.py -p ubuntu_cpu /work/runtime_functions.sh test_rat_check

# You can also manually download Apache RAT. For installation on Ubuntu:
# sudo apt-get install maven -y #>/dev/null
Expand Down
106 changes: 106 additions & 0 deletions tools/create_source_archive.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

set -e

MXNET_TAG=$1
CMD=$(basename $0)

if [[ -z "$MXNET_TAG" ]]; then
echo "Usage: $CMD <tag>"
echo " where <tag> is the git tag you want to build a release for."
echo ""
echo " example: $CMD 1.8.0.rc3"
exit -1
fi

TAR=tar
if [[ $(uname) == "Darwin" ]]; then
TAR=gtar
fi

# make sure gnu tar is installed
which $TAR > /dev/null
if [[ $? -ne 0 ]]; then
echo "It looks like you don't have GNU tar installed."
echo ""
echo "For OSX users, please install gnu-tar using the command 'brew install gnu-tar'"
exit -1
fi

SRCDIR=apache-mxnet-src-$MXNET_TAG-incubating
TARBALL=$SRCDIR.tar.gz

# clone the repo and checkout the tag
echo "Cloning the MXNet repository..."
git clone -b $MXNET_TAG --depth 1 --recurse-submodules \
--shallow-submodules https://github.com/apache/incubator-mxnet.git \
$SRCDIR
pushd $SRCDIR

#### IMPORTANT ####
# Remove artifacts which do not comply with the Apache Licensing Policy
echo "Removing unwanted artifacts..."
for d in $(cat tools/source-exclude-artifacts.txt | grep -v "^#"); do
if [[ -e $d ]]; then
echo "Removing $d from source archive..."
rm -rf $d
fi
done

# Remove lines from LICENSE file for artifacts removed from source tree
echo "Removing lines from LICENSE for artifacts removed from source archive..."
for d in $(cat tools/source-exclude-artifacts.txt | grep -v "^#"); do
line=$(grep "$d" LICENSE)
if [[ $? -eq 0 && ! -z "$line" ]]; then
echo "Removing line from LICENSE: $line"
cat LICENSE | grep -v "$d" > LICENSE.new
mv -f LICENSE.new LICENSE
fi
done

# Remove other artifacts we do not want contained in the source archive
rm -rf .DS_Store
rm -rf CODEOWNERS
rm -rf .github

# make sure all files referenced in LICENSE file still exist
echo "Making sure all paths referenced in LICENSE file exist..."
for f in $(cat LICENSE | grep "^\s*[0-9A-Za-z]*/[0-9A-Za-z]*" | awk '{print $1}'); do
echo "Checking if $f exists in source..."
if [[ ! -e $f ]]; then
echo -n "ERROR: Path $f is referenced in LICENSE file, but is not present "
echo "in source directory. Please update the LICENSE file."
exit -1
fi
done

# run Apache RAT license checker to verify all source files are compliant
echo "Running Apache RAT License Checker..."
ci/build.py -p ubuntu_cpu /work/runtime_functions.sh test_rat_check


popd

echo "Creating tarball $TARBALL..."
$TAR --exclude-vcs -czf $TARBALL $SRCDIR

# sign the release tarball and create checksum file
gpg --armor --output $TARBALL.asc --detach-sig $TARBALL
shasum -a 512 $TARBALL > $TARBALL.sha512

23 changes: 23 additions & 0 deletions tools/source-exclude-artifacts.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

# NOTE:
# This is a list of artifacts in the repository that should
# not be included in source release archives due to licensing
# restrictions.

3rdparty/mkldnn/doc