Skip to content

Commit

Permalink
Merge pull request #827 from sever-sever/T6813-kernel
Browse files Browse the repository at this point in the history
T6813: Build tarballs for the packages in the linux-kernel dir
  • Loading branch information
dmbaturin authored Nov 4, 2024
2 parents a900353 + 50b3d9f commit 5674398
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 42 deletions.
28 changes: 14 additions & 14 deletions scripts/package-build/linux-kernel/build-intel-ixgbe.sh
Original file line number Diff line number Diff line change
Expand Up @@ -97,17 +97,17 @@ fpm --input-type dir --output-type deb --name vyos-intel-${DRIVER_NAME} \
--depends linux-image-${KERNEL_VERSION}${KERNEL_SUFFIX} \
--license "GPL2" -C ${DEBIAN_DIR} --after-install ${DEBIAN_POSTINST}

echo "I: Cleanup ${DRIVER_NAME} source"
cd ${CWD}
if [ -e ${DRIVER_FILE} ]; then
rm -f ${DRIVER_FILE}
fi
if [ -d ${DRIVER_DIR} ]; then
rm -rf ${DRIVER_DIR}
fi
if [ -d ${DEBIAN_DIR} ]; then
rm -rf ${DEBIAN_DIR}
fi
if [ -f ${DEBIAN_POSTINST} ]; then
rm -f ${DEBIAN_POSTINST}
fi
# echo "I: Cleanup ${DRIVER_NAME} source"
# cd ${CWD}
# if [ -e ${DRIVER_FILE} ]; then
# rm -f ${DRIVER_FILE}
# fi
# if [ -d ${DRIVER_DIR} ]; then
# rm -rf ${DRIVER_DIR}
# fi
# if [ -d ${DEBIAN_DIR} ]; then
# rm -rf ${DEBIAN_DIR}
# fi
# if [ -f ${DEBIAN_POSTINST} ]; then
# rm -f ${DEBIAN_POSTINST}
# fi
28 changes: 14 additions & 14 deletions scripts/package-build/linux-kernel/build-intel-ixgbevf.sh
Original file line number Diff line number Diff line change
Expand Up @@ -89,17 +89,17 @@ fpm --input-type dir --output-type deb --name vyos-intel-${DRIVER_NAME} \
--depends linux-image-${KERNEL_VERSION}${KERNEL_SUFFIX} \
--license "GPL2" -C ${DEBIAN_DIR} --after-install ${DEBIAN_POSTINST}

echo "I: Cleanup ${DRIVER_NAME} source"
cd ${CWD}
if [ -e ${DRIVER_FILE} ]; then
rm -f ${DRIVER_FILE}
fi
if [ -d ${DRIVER_DIR} ]; then
rm -rf ${DRIVER_DIR}
fi
if [ -d ${DEBIAN_DIR} ]; then
rm -rf ${DEBIAN_DIR}
fi
if [ -f ${DEBIAN_POSTINST} ]; then
rm -f ${DEBIAN_POSTINST}
fi
# echo "I: Cleanup ${DRIVER_NAME} source"
# cd ${CWD}
# if [ -e ${DRIVER_FILE} ]; then
# rm -f ${DRIVER_FILE}
# fi
# if [ -d ${DRIVER_DIR} ]; then
# rm -rf ${DRIVER_DIR}
# fi
# if [ -d ${DEBIAN_DIR} ]; then
# rm -rf ${DEBIAN_DIR}
# fi
# if [ -f ${DEBIAN_POSTINST} ]; then
# rm -f ${DEBIAN_POSTINST}
# fi
28 changes: 14 additions & 14 deletions scripts/package-build/linux-kernel/build-intel-qat.sh
Original file line number Diff line number Diff line change
Expand Up @@ -101,17 +101,17 @@ fpm --input-type dir --output-type deb --name vyos-intel-${DRIVER_NAME} \
--depends linux-image-${KERNEL_VERSION}${KERNEL_SUFFIX} \
--license "GPL2" -C ${DEBIAN_DIR} --after-install ${DEBIAN_POSTINST}

echo "I: Cleanup ${DRIVER_NAME} source"
cd ${CWD}
if [ -e ${DRIVER_FILE} ]; then
rm -f ${DRIVER_FILE}
fi
if [ -d ${DRIVER_DIR} ]; then
rm -rf ${DRIVER_DIR}
fi
if [ -d ${DEBIAN_DIR} ]; then
rm -rf ${DEBIAN_DIR}
fi
if [ -f ${DEBIAN_POSTINST} ]; then
rm -f ${DEBIAN_POSTINST}
fi
# echo "I: Cleanup ${DRIVER_NAME} source"
# cd ${CWD}
# if [ -e ${DRIVER_FILE} ]; then
# rm -f ${DRIVER_FILE}
# fi
# if [ -d ${DRIVER_DIR} ]; then
# rm -rf ${DRIVER_DIR}
# fi
# if [ -d ${DEBIAN_DIR} ]; then
# rm -rf ${DEBIAN_DIR}
# fi
# if [ -f ${DEBIAN_POSTINST} ]; then
# rm -f ${DEBIAN_POSTINST}
# fi
38 changes: 38 additions & 0 deletions scripts/package-build/linux-kernel/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,40 @@ def clone_or_update_repo(repo_dir: Path, scm_url: str, commit_id: str) -> None:
run(['git', 'checkout', commit_id], cwd=repo_dir, check=True)


def create_tarball(package_name, source_dir=None):
"""Creates a .tar.gz archive of the specified directory.
Args:
package_name (str): The name of the package. This will also be the name of the output tarball.
source_dir (str, optional): The directory to be archived. If not provided, defaults to `package_name`.
Raises:
FileNotFoundError: If the specified `source_dir` does not exist.
Exception: If an error occurs during tarball creation.
Example:
>>> create_tarball("linux-6.6.56")
I: Tarball created: linux-6.6.56.tar.gz
>>> create_tarball("my-package", "/path/to/source")
I: Tarball created: my-package.tar.gz
"""
# Use package_name as the source directory if source_dir is not provided
source_dir = source_dir or package_name
output_tarball = f"{package_name}.tar.gz"

# Check if the source directory exists
if not os.path.isdir(source_dir):
raise FileNotFoundError(f"Directory '{source_dir}' does not exist.")

# Create the tarball
try:
shutil.make_archive(base_name=output_tarball.replace('.tar.gz', ''), format='gztar', root_dir=source_dir)
print(f"I: Tarball created: {output_tarball}")
except Exception as e:
print(f"I: Failed to create tarball for {package_name}: {e}")


def build_package(package: dict, dependencies: list) -> None:
"""Build a package from the repository
Expand All @@ -88,10 +122,13 @@ def build_package(package: dict, dependencies: list) -> None:
# Execute the build command
if package['build_cmd'] == 'build_kernel':
build_kernel(package['kernel_version'])
create_tarball(f'{package["name"]}-{package["kernel_version"]}', f'linux-{package["kernel_version"]}')
elif package['build_cmd'] == 'build_linux_firmware':
build_linux_firmware(package['commit_id'], package['scm_url'])
create_tarball(f'{package["name"]}-{package["commit_id"]}', f'{package["name"]}')
elif package['build_cmd'] == 'build_accel_ppp':
build_accel_ppp(package['commit_id'], package['scm_url'])
create_tarball(f'{package["name"]}-{package["commit_id"]}', f'{package["name"]}')
elif package['build_cmd'] == 'build_intel_qat':
build_intel_qat()
elif package['build_cmd'] == 'build_intel_ixgbe':
Expand All @@ -106,6 +143,7 @@ def build_package(package: dict, dependencies: list) -> None:
build_jool()
elif package['build_cmd'] == 'build_openvpn_dco':
build_openvpn_dco(package['commit_id'], package['scm_url'])
create_tarball(f'{package["name"]}-{package["commit_id"]}', f'{package["name"]}')
elif package['build_cmd'] == 'build_nat_rtsp':
build_nat_rtsp(package['commit_id'], package['scm_url'])
else:
Expand Down

0 comments on commit 5674398

Please sign in to comment.