Further extract and setup for rebuild
This commit is contained in:
@@ -0,0 +1,20 @@
|
|||||||
|
Package: inotifywait
|
||||||
|
Version: 3.20.11.0-1
|
||||||
|
Depends: libc, libinotifytools
|
||||||
|
Source: feeds/packages/utils/inotify-tools
|
||||||
|
SourceName: inotifywait
|
||||||
|
License: GPLv2
|
||||||
|
LicenseFiles: COPYING
|
||||||
|
Section: utils
|
||||||
|
SourceDateEpoch: 1605477462
|
||||||
|
Maintainer: Daniel Golle <daniel@makrotopia.org>
|
||||||
|
Architecture: aarch64_cortex-a53
|
||||||
|
Installed-Size: 9023
|
||||||
|
Description: inotify-tools is a C library and a set of command-line programs for
|
||||||
|
Linux providing a simple interface to inotify. These programs can be
|
||||||
|
used to monitor and act upon filesystem events. A more detailed
|
||||||
|
description of the programs is further down the page. The programs are
|
||||||
|
written in C and have no dependencies other than a Linux kernel
|
||||||
|
supporting inotify.
|
||||||
|
|
||||||
|
This package provides the inotifywait tool.
|
||||||
5
ipk-source/inotifywait_3.20.11.0-1_aarch64_cortex-a53/CONTROL/postinst
Executable file
5
ipk-source/inotifywait_3.20.11.0-1_aarch64_cortex-a53/CONTROL/postinst
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
[ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0
|
||||||
|
[ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0
|
||||||
|
. ${IPKG_INSTROOT}/lib/functions.sh
|
||||||
|
default_postinst $0 $@
|
||||||
4
ipk-source/inotifywait_3.20.11.0-1_aarch64_cortex-a53/CONTROL/prerm
Executable file
4
ipk-source/inotifywait_3.20.11.0-1_aarch64_cortex-a53/CONTROL/prerm
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
[ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0
|
||||||
|
. ${IPKG_INSTROOT}/lib/functions.sh
|
||||||
|
default_prerm $0 $@
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Script for building OpenWRT .ipk packages using tar by iamromulan
|
||||||
|
# Works with SDXPPINN OpenWRT - iamromulan
|
||||||
|
# This script accepts an optional path to the directory containing the `CONTROL` and `root` directories.
|
||||||
|
# Usage: ./build-ipk.sh [path]
|
||||||
|
# If no path is provided, the script will look in the current directory for `CONTROL` and `root` directories.
|
||||||
|
# This will spit out an ipk in the current directory
|
||||||
|
|
||||||
|
# Check if the script is run as root. If not, rerun with sudo.
|
||||||
|
if [ "$(id -u)" -ne 0 ]; then
|
||||||
|
echo "Script is not running as root. Re-executing with sudo..."
|
||||||
|
exec sudo "$0" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the default build path to the current directory
|
||||||
|
build_path="."
|
||||||
|
|
||||||
|
# Check if a path is provided as the first argument
|
||||||
|
if [ "$1" ]; then
|
||||||
|
build_path="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if the required directories are present in the specified path
|
||||||
|
if [ ! -d "${build_path}/CONTROL" ] || [ ! -d "${build_path}/root" ]; then
|
||||||
|
echo "Error: CONTROL and root directories must be present in the specified path (${build_path})."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Extract values from the CONTROL/control file in the specified path
|
||||||
|
pkgname=$(grep -i '^Package:' "${build_path}/CONTROL/control" | awk '{print $2}')
|
||||||
|
version=$(grep -i '^Version:' "${build_path}/CONTROL/control" | awk '{print $2}')
|
||||||
|
architecture=$(grep -i '^Architecture:' "${build_path}/CONTROL/control" | awk '{print $2}')
|
||||||
|
|
||||||
|
# Check if values are extracted correctly
|
||||||
|
if [ -z "$pkgname" ] || [ -z "$version" ] || [ -z "$architecture" ]; then
|
||||||
|
echo "Error: Failed to extract Package, Version, or Architecture from ${build_path}/CONTROL/control."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the final IPK name based on the extracted values
|
||||||
|
ipkname="${pkgname}_${version}_${architecture}.ipk"
|
||||||
|
|
||||||
|
# Ensure all CONTROL scripts are executable
|
||||||
|
echo "Setting permissions for CONTROL scripts..."
|
||||||
|
chmod +x "${build_path}/CONTROL"/*
|
||||||
|
|
||||||
|
# Set ownership for CONTROL and root files
|
||||||
|
echo "Setting ownership for all package files..."
|
||||||
|
chown -R root:root "${build_path}/CONTROL"/*
|
||||||
|
chown -R root:root "${build_path}/root"/*
|
||||||
|
|
||||||
|
# Create control.tar.gz from the CONTROL directory
|
||||||
|
echo "Creating control.tar.gz..."
|
||||||
|
tar -czvf control.tar.gz -C "${build_path}/CONTROL" .
|
||||||
|
|
||||||
|
# Create data.tar.gz from the root directory
|
||||||
|
echo "Creating data.tar.gz..."
|
||||||
|
tar -czvf data.tar.gz -C "${build_path}/root" .
|
||||||
|
|
||||||
|
# Create debian-binary file (must contain exactly "2.0" without a newline)
|
||||||
|
echo -n "2.0" > debian-binary
|
||||||
|
chown -R root:root debian-binary
|
||||||
|
|
||||||
|
# Combine the components into the final .ipk file using tar
|
||||||
|
echo "Packaging ${ipkname}..."
|
||||||
|
tar -czvf "$ipkname" debian-binary control.tar.gz data.tar.gz
|
||||||
|
|
||||||
|
# Clean up intermediate files
|
||||||
|
echo "Cleaning up temporary files..."
|
||||||
|
rm -f control.tar.gz data.tar.gz debian-binary
|
||||||
|
|
||||||
|
echo "IPK package ${ipkname} created successfully using tar."
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
2.0
|
|
||||||
BIN
ipk-source/inotifywait_3.20.11.0-1_aarch64_cortex-a53/root/usr/bin/inotifywait
Executable file
BIN
ipk-source/inotifywait_3.20.11.0-1_aarch64_cortex-a53/root/usr/bin/inotifywait
Executable file
Binary file not shown.
@@ -0,0 +1,20 @@
|
|||||||
|
Package: libinotifytools
|
||||||
|
Version: 3.20.11.0-1
|
||||||
|
Depends: libc
|
||||||
|
Source: feeds/packages/utils/inotify-tools
|
||||||
|
SourceName: libinotifytools
|
||||||
|
License: GPLv2
|
||||||
|
LicenseFiles: COPYING
|
||||||
|
Section: libs
|
||||||
|
SourceDateEpoch: 1605477462
|
||||||
|
Maintainer: Daniel Golle <daniel@makrotopia.org>
|
||||||
|
Architecture: aarch64_cortex-a53
|
||||||
|
Installed-Size: 13142
|
||||||
|
Description: inotify-tools is a C library and a set of command-line programs for
|
||||||
|
Linux providing a simple interface to inotify. These programs can be
|
||||||
|
used to monitor and act upon filesystem events. A more detailed
|
||||||
|
description of the programs is further down the page. The programs are
|
||||||
|
written in C and have no dependencies other than a Linux kernel
|
||||||
|
supporting inotify.
|
||||||
|
|
||||||
|
This package provides the libinotifytools shared library.
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
[ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0
|
||||||
|
[ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0
|
||||||
|
. ${IPKG_INSTROOT}/lib/functions.sh
|
||||||
|
default_postinst $0 $@
|
||||||
4
ipk-source/libinotifytools_3.20.11.0-1_aarch64_cortex-a53/CONTROL/prerm
Executable file
4
ipk-source/libinotifytools_3.20.11.0-1_aarch64_cortex-a53/CONTROL/prerm
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
[ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0
|
||||||
|
. ${IPKG_INSTROOT}/lib/functions.sh
|
||||||
|
default_prerm $0 $@
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Script for building OpenWRT .ipk packages using tar by iamromulan
|
||||||
|
# Works with SDXPPINN OpenWRT - iamromulan
|
||||||
|
# This script accepts an optional path to the directory containing the `CONTROL` and `root` directories.
|
||||||
|
# Usage: ./build-ipk.sh [path]
|
||||||
|
# If no path is provided, the script will look in the current directory for `CONTROL` and `root` directories.
|
||||||
|
# This will spit out an ipk in the current directory
|
||||||
|
|
||||||
|
# Check if the script is run as root. If not, rerun with sudo.
|
||||||
|
if [ "$(id -u)" -ne 0 ]; then
|
||||||
|
echo "Script is not running as root. Re-executing with sudo..."
|
||||||
|
exec sudo "$0" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the default build path to the current directory
|
||||||
|
build_path="."
|
||||||
|
|
||||||
|
# Check if a path is provided as the first argument
|
||||||
|
if [ "$1" ]; then
|
||||||
|
build_path="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if the required directories are present in the specified path
|
||||||
|
if [ ! -d "${build_path}/CONTROL" ] || [ ! -d "${build_path}/root" ]; then
|
||||||
|
echo "Error: CONTROL and root directories must be present in the specified path (${build_path})."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Extract values from the CONTROL/control file in the specified path
|
||||||
|
pkgname=$(grep -i '^Package:' "${build_path}/CONTROL/control" | awk '{print $2}')
|
||||||
|
version=$(grep -i '^Version:' "${build_path}/CONTROL/control" | awk '{print $2}')
|
||||||
|
architecture=$(grep -i '^Architecture:' "${build_path}/CONTROL/control" | awk '{print $2}')
|
||||||
|
|
||||||
|
# Check if values are extracted correctly
|
||||||
|
if [ -z "$pkgname" ] || [ -z "$version" ] || [ -z "$architecture" ]; then
|
||||||
|
echo "Error: Failed to extract Package, Version, or Architecture from ${build_path}/CONTROL/control."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the final IPK name based on the extracted values
|
||||||
|
ipkname="${pkgname}_${version}_${architecture}.ipk"
|
||||||
|
|
||||||
|
# Ensure all CONTROL scripts are executable
|
||||||
|
echo "Setting permissions for CONTROL scripts..."
|
||||||
|
chmod +x "${build_path}/CONTROL"/*
|
||||||
|
|
||||||
|
# Set ownership for CONTROL and root files
|
||||||
|
echo "Setting ownership for all package files..."
|
||||||
|
chown -R root:root "${build_path}/CONTROL"/*
|
||||||
|
chown -R root:root "${build_path}/root"/*
|
||||||
|
|
||||||
|
# Create control.tar.gz from the CONTROL directory
|
||||||
|
echo "Creating control.tar.gz..."
|
||||||
|
tar -czvf control.tar.gz -C "${build_path}/CONTROL" .
|
||||||
|
|
||||||
|
# Create data.tar.gz from the root directory
|
||||||
|
echo "Creating data.tar.gz..."
|
||||||
|
tar -czvf data.tar.gz -C "${build_path}/root" .
|
||||||
|
|
||||||
|
# Create debian-binary file (must contain exactly "2.0" without a newline)
|
||||||
|
echo -n "2.0" > debian-binary
|
||||||
|
chown -R root:root debian-binary
|
||||||
|
|
||||||
|
# Combine the components into the final .ipk file using tar
|
||||||
|
echo "Packaging ${ipkname}..."
|
||||||
|
tar -czvf "$ipkname" debian-binary control.tar.gz data.tar.gz
|
||||||
|
|
||||||
|
# Clean up intermediate files
|
||||||
|
echo "Cleaning up temporary files..."
|
||||||
|
rm -f control.tar.gz data.tar.gz debian-binary
|
||||||
|
|
||||||
|
echo "IPK package ${ipkname} created successfully using tar."
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
2.0
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
libinotifytools.so.0.4.1
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
libinotifytools.so.0.4.1
|
||||||
Binary file not shown.
@@ -0,0 +1,14 @@
|
|||||||
|
Package: tailscale
|
||||||
|
Version: 1.32.3-1
|
||||||
|
Depends: libc, tailscaled
|
||||||
|
Source: feeds/packages/net/tailscale
|
||||||
|
SourceName: tailscale
|
||||||
|
License: BSD-3-Clause
|
||||||
|
LicenseFiles: LICENSE
|
||||||
|
Section: net
|
||||||
|
SourceDateEpoch: 1671394068
|
||||||
|
Maintainer: Jan Pavlinec <jan.pavlinec1@gmail.com>
|
||||||
|
Architecture: aarch64_cortex-a53
|
||||||
|
Installed-Size: 3651096
|
||||||
|
Description: It creates a secure network between your servers, computers,
|
||||||
|
and cloud instances. Even when separated by firewalls or subnets.
|
||||||
5
ipk-source/tailscale_1.32.3-1_aarch64_cortex-a53/CONTROL/postinst
Executable file
5
ipk-source/tailscale_1.32.3-1_aarch64_cortex-a53/CONTROL/postinst
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
[ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0
|
||||||
|
[ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0
|
||||||
|
. ${IPKG_INSTROOT}/lib/functions.sh
|
||||||
|
default_postinst $0 $@
|
||||||
4
ipk-source/tailscale_1.32.3-1_aarch64_cortex-a53/CONTROL/prerm
Executable file
4
ipk-source/tailscale_1.32.3-1_aarch64_cortex-a53/CONTROL/prerm
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
[ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0
|
||||||
|
. ${IPKG_INSTROOT}/lib/functions.sh
|
||||||
|
default_prerm $0 $@
|
||||||
74
ipk-source/tailscale_1.32.3-1_aarch64_cortex-a53/build-ipk
Normal file
74
ipk-source/tailscale_1.32.3-1_aarch64_cortex-a53/build-ipk
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Script for building OpenWRT .ipk packages using tar by iamromulan
|
||||||
|
# Works with SDXPPINN OpenWRT - iamromulan
|
||||||
|
# This script accepts an optional path to the directory containing the `CONTROL` and `root` directories.
|
||||||
|
# Usage: ./build-ipk.sh [path]
|
||||||
|
# If no path is provided, the script will look in the current directory for `CONTROL` and `root` directories.
|
||||||
|
# This will spit out an ipk in the current directory
|
||||||
|
|
||||||
|
# Check if the script is run as root. If not, rerun with sudo.
|
||||||
|
if [ "$(id -u)" -ne 0 ]; then
|
||||||
|
echo "Script is not running as root. Re-executing with sudo..."
|
||||||
|
exec sudo "$0" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the default build path to the current directory
|
||||||
|
build_path="."
|
||||||
|
|
||||||
|
# Check if a path is provided as the first argument
|
||||||
|
if [ "$1" ]; then
|
||||||
|
build_path="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if the required directories are present in the specified path
|
||||||
|
if [ ! -d "${build_path}/CONTROL" ] || [ ! -d "${build_path}/root" ]; then
|
||||||
|
echo "Error: CONTROL and root directories must be present in the specified path (${build_path})."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Extract values from the CONTROL/control file in the specified path
|
||||||
|
pkgname=$(grep -i '^Package:' "${build_path}/CONTROL/control" | awk '{print $2}')
|
||||||
|
version=$(grep -i '^Version:' "${build_path}/CONTROL/control" | awk '{print $2}')
|
||||||
|
architecture=$(grep -i '^Architecture:' "${build_path}/CONTROL/control" | awk '{print $2}')
|
||||||
|
|
||||||
|
# Check if values are extracted correctly
|
||||||
|
if [ -z "$pkgname" ] || [ -z "$version" ] || [ -z "$architecture" ]; then
|
||||||
|
echo "Error: Failed to extract Package, Version, or Architecture from ${build_path}/CONTROL/control."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the final IPK name based on the extracted values
|
||||||
|
ipkname="${pkgname}_${version}_${architecture}.ipk"
|
||||||
|
|
||||||
|
# Ensure all CONTROL scripts are executable
|
||||||
|
echo "Setting permissions for CONTROL scripts..."
|
||||||
|
chmod +x "${build_path}/CONTROL"/*
|
||||||
|
|
||||||
|
# Set ownership for CONTROL and root files
|
||||||
|
echo "Setting ownership for all package files..."
|
||||||
|
chown -R root:root "${build_path}/CONTROL"/*
|
||||||
|
chown -R root:root "${build_path}/root"/*
|
||||||
|
|
||||||
|
# Create control.tar.gz from the CONTROL directory
|
||||||
|
echo "Creating control.tar.gz..."
|
||||||
|
tar -czvf control.tar.gz -C "${build_path}/CONTROL" .
|
||||||
|
|
||||||
|
# Create data.tar.gz from the root directory
|
||||||
|
echo "Creating data.tar.gz..."
|
||||||
|
tar -czvf data.tar.gz -C "${build_path}/root" .
|
||||||
|
|
||||||
|
# Create debian-binary file (must contain exactly "2.0" without a newline)
|
||||||
|
echo -n "2.0" > debian-binary
|
||||||
|
chown -R root:root debian-binary
|
||||||
|
|
||||||
|
# Combine the components into the final .ipk file using tar
|
||||||
|
echo "Packaging ${ipkname}..."
|
||||||
|
tar -czvf "$ipkname" debian-binary control.tar.gz data.tar.gz
|
||||||
|
|
||||||
|
# Clean up intermediate files
|
||||||
|
echo "Cleaning up temporary files..."
|
||||||
|
rm -f control.tar.gz data.tar.gz debian-binary
|
||||||
|
|
||||||
|
echo "IPK package ${ipkname} created successfully using tar."
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
2.0
|
|
||||||
BIN
ipk-source/tailscale_1.32.3-1_aarch64_cortex-a53/root/usr/sbin/tailscale
Executable file
BIN
ipk-source/tailscale_1.32.3-1_aarch64_cortex-a53/root/usr/sbin/tailscale
Executable file
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
/etc/config/tailscale
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
Package: tailscaled
|
||||||
|
Version: 1.32.3-1
|
||||||
|
Depends: libc, ca-bundle, kmod-tun
|
||||||
|
Source: feeds/packages/net/tailscale
|
||||||
|
SourceName: tailscaled
|
||||||
|
License: BSD-3-Clause
|
||||||
|
LicenseFiles: LICENSE
|
||||||
|
Section: net
|
||||||
|
SourceDateEpoch: 1671394068
|
||||||
|
Maintainer: Jan Pavlinec <jan.pavlinec1@gmail.com>
|
||||||
|
Architecture: aarch64_cortex-a53
|
||||||
|
Installed-Size: 6285065
|
||||||
|
Description: It creates a secure network between your servers, computers,
|
||||||
|
and cloud instances. Even when separated by firewalls or subnets.
|
||||||
5
ipk-source/tailscaled_1.32.3-1_aarch64_cortex-a53/CONTROL/postinst
Executable file
5
ipk-source/tailscaled_1.32.3-1_aarch64_cortex-a53/CONTROL/postinst
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
[ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0
|
||||||
|
[ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0
|
||||||
|
. ${IPKG_INSTROOT}/lib/functions.sh
|
||||||
|
default_postinst $0 $@
|
||||||
4
ipk-source/tailscaled_1.32.3-1_aarch64_cortex-a53/CONTROL/prerm
Executable file
4
ipk-source/tailscaled_1.32.3-1_aarch64_cortex-a53/CONTROL/prerm
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
[ -s ${IPKG_INSTROOT}/lib/functions.sh ] || exit 0
|
||||||
|
. ${IPKG_INSTROOT}/lib/functions.sh
|
||||||
|
default_prerm $0 $@
|
||||||
74
ipk-source/tailscaled_1.32.3-1_aarch64_cortex-a53/build-ipk
Normal file
74
ipk-source/tailscaled_1.32.3-1_aarch64_cortex-a53/build-ipk
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Script for building OpenWRT .ipk packages using tar by iamromulan
|
||||||
|
# Works with SDXPPINN OpenWRT - iamromulan
|
||||||
|
# This script accepts an optional path to the directory containing the `CONTROL` and `root` directories.
|
||||||
|
# Usage: ./build-ipk.sh [path]
|
||||||
|
# If no path is provided, the script will look in the current directory for `CONTROL` and `root` directories.
|
||||||
|
# This will spit out an ipk in the current directory
|
||||||
|
|
||||||
|
# Check if the script is run as root. If not, rerun with sudo.
|
||||||
|
if [ "$(id -u)" -ne 0 ]; then
|
||||||
|
echo "Script is not running as root. Re-executing with sudo..."
|
||||||
|
exec sudo "$0" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the default build path to the current directory
|
||||||
|
build_path="."
|
||||||
|
|
||||||
|
# Check if a path is provided as the first argument
|
||||||
|
if [ "$1" ]; then
|
||||||
|
build_path="$1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if the required directories are present in the specified path
|
||||||
|
if [ ! -d "${build_path}/CONTROL" ] || [ ! -d "${build_path}/root" ]; then
|
||||||
|
echo "Error: CONTROL and root directories must be present in the specified path (${build_path})."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Extract values from the CONTROL/control file in the specified path
|
||||||
|
pkgname=$(grep -i '^Package:' "${build_path}/CONTROL/control" | awk '{print $2}')
|
||||||
|
version=$(grep -i '^Version:' "${build_path}/CONTROL/control" | awk '{print $2}')
|
||||||
|
architecture=$(grep -i '^Architecture:' "${build_path}/CONTROL/control" | awk '{print $2}')
|
||||||
|
|
||||||
|
# Check if values are extracted correctly
|
||||||
|
if [ -z "$pkgname" ] || [ -z "$version" ] || [ -z "$architecture" ]; then
|
||||||
|
echo "Error: Failed to extract Package, Version, or Architecture from ${build_path}/CONTROL/control."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the final IPK name based on the extracted values
|
||||||
|
ipkname="${pkgname}_${version}_${architecture}.ipk"
|
||||||
|
|
||||||
|
# Ensure all CONTROL scripts are executable
|
||||||
|
echo "Setting permissions for CONTROL scripts..."
|
||||||
|
chmod +x "${build_path}/CONTROL"/*
|
||||||
|
|
||||||
|
# Set ownership for CONTROL and root files
|
||||||
|
echo "Setting ownership for all package files..."
|
||||||
|
chown -R root:root "${build_path}/CONTROL"/*
|
||||||
|
chown -R root:root "${build_path}/root"/*
|
||||||
|
|
||||||
|
# Create control.tar.gz from the CONTROL directory
|
||||||
|
echo "Creating control.tar.gz..."
|
||||||
|
tar -czvf control.tar.gz -C "${build_path}/CONTROL" .
|
||||||
|
|
||||||
|
# Create data.tar.gz from the root directory
|
||||||
|
echo "Creating data.tar.gz..."
|
||||||
|
tar -czvf data.tar.gz -C "${build_path}/root" .
|
||||||
|
|
||||||
|
# Create debian-binary file (must contain exactly "2.0" without a newline)
|
||||||
|
echo -n "2.0" > debian-binary
|
||||||
|
chown -R root:root debian-binary
|
||||||
|
|
||||||
|
# Combine the components into the final .ipk file using tar
|
||||||
|
echo "Packaging ${ipkname}..."
|
||||||
|
tar -czvf "$ipkname" debian-binary control.tar.gz data.tar.gz
|
||||||
|
|
||||||
|
# Clean up intermediate files
|
||||||
|
echo "Cleaning up temporary files..."
|
||||||
|
rm -f control.tar.gz data.tar.gz debian-binary
|
||||||
|
|
||||||
|
echo "IPK package ${ipkname} created successfully using tar."
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
2.0
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
config settings 'settings'
|
||||||
|
option log_stderr '1'
|
||||||
|
option log_stdout '1'
|
||||||
|
option port '41641'
|
||||||
|
option state_file '/etc/tailscale/tailscaled.state'
|
||||||
42
ipk-source/tailscaled_1.32.3-1_aarch64_cortex-a53/root/etc/init.d/tailscale
Executable file
42
ipk-source/tailscaled_1.32.3-1_aarch64_cortex-a53/root/etc/init.d/tailscale
Executable file
@@ -0,0 +1,42 @@
|
|||||||
|
#!/bin/sh /etc/rc.common
|
||||||
|
|
||||||
|
# Copyright 2020 Google LLC.
|
||||||
|
# Copyright (C) 2021 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
USE_PROCD=1
|
||||||
|
START=80
|
||||||
|
|
||||||
|
start_service() {
|
||||||
|
local state_file
|
||||||
|
local port
|
||||||
|
local std_err std_out
|
||||||
|
|
||||||
|
config_load tailscale
|
||||||
|
config_get_bool std_out "settings" log_stdout 1
|
||||||
|
config_get_bool std_err "settings" log_stderr 1
|
||||||
|
config_get port "settings" port 41641
|
||||||
|
config_get state_file "settings" state_file /etc/tailscale/tailscaled.state
|
||||||
|
|
||||||
|
/usr/sbin/tailscaled --cleanup
|
||||||
|
|
||||||
|
procd_open_instance
|
||||||
|
procd_set_param command /usr/sbin/tailscaled
|
||||||
|
|
||||||
|
# Set the port to listen on for incoming VPN packets.
|
||||||
|
# Remote nodes will automatically be informed about the new port number,
|
||||||
|
# but you might want to configure this in order to set external firewall
|
||||||
|
# settings.
|
||||||
|
procd_append_param command --port "$port"
|
||||||
|
procd_append_param command --state "$state_file"
|
||||||
|
|
||||||
|
procd_set_param respawn
|
||||||
|
procd_set_param stdout "$std_out"
|
||||||
|
procd_set_param stderr "$std_err"
|
||||||
|
|
||||||
|
procd_close_instance
|
||||||
|
}
|
||||||
|
|
||||||
|
stop_service() {
|
||||||
|
/usr/sbin/tailscaled --cleanup
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/etc/tailscale/tailscaled.state
|
||||||
BIN
ipk-source/tailscaled_1.32.3-1_aarch64_cortex-a53/root/usr/sbin/tailscaled
Executable file
BIN
ipk-source/tailscaled_1.32.3-1_aarch64_cortex-a53/root/usr/sbin/tailscaled
Executable file
Binary file not shown.
Reference in New Issue
Block a user