feat: manjaro/arch build.py
This commit is contained in:
parent
f6f7ce1f2f
commit
1fb186fd2a
34
build.py
34
build.py
@ -66,6 +66,8 @@ def make_parser():
|
|||||||
default='',
|
default='',
|
||||||
help='Integrate features, windows only.'
|
help='Integrate features, windows only.'
|
||||||
'Available: IddDriver, PrivacyMode. Special value is "ALL" and empty "". Default is empty.')
|
'Available: IddDriver, PrivacyMode. Special value is "ALL" and empty "". Default is empty.')
|
||||||
|
parser.add_argument('--flutter', action='store_true',
|
||||||
|
help='Build flutter package', default=False)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
'--hwcodec',
|
'--hwcodec',
|
||||||
action='store_true',
|
action='store_true',
|
||||||
@ -114,6 +116,8 @@ def get_features(args):
|
|||||||
features.extend(get_rc_features(args))
|
features.extend(get_rc_features(args))
|
||||||
if args.hwcodec:
|
if args.hwcodec:
|
||||||
features.append('hwcodec')
|
features.append('hwcodec')
|
||||||
|
if args.flutter:
|
||||||
|
features.append('flutter')
|
||||||
print("features:", features)
|
print("features:", features)
|
||||||
return features
|
return features
|
||||||
|
|
||||||
@ -135,6 +139,7 @@ def main():
|
|||||||
os.system('git checkout src/ui/common.tis')
|
os.system('git checkout src/ui/common.tis')
|
||||||
version = get_version()
|
version = get_version()
|
||||||
features = ",".join(get_features(args))
|
features = ",".join(get_features(args))
|
||||||
|
flutter = args.flutter
|
||||||
if windows:
|
if windows:
|
||||||
os.system('cargo build --release --features ' + features)
|
os.system('cargo build --release --features ' + features)
|
||||||
# os.system('upx.exe target/release/rustdesk.exe')
|
# os.system('upx.exe target/release/rustdesk.exe')
|
||||||
@ -147,14 +152,26 @@ def main():
|
|||||||
print('Not signed')
|
print('Not signed')
|
||||||
os.system(f'cp -rf target/release/RustDesk.exe rustdesk-{version}-setdown.exe')
|
os.system(f'cp -rf target/release/RustDesk.exe rustdesk-{version}-setdown.exe')
|
||||||
elif os.path.isfile('/usr/bin/pacman'):
|
elif os.path.isfile('/usr/bin/pacman'):
|
||||||
os.system('cargo build --release --features ' + features)
|
if flutter:
|
||||||
os.system('git checkout src/ui/common.tis')
|
os.chdir('flutter')
|
||||||
os.system('strip target/release/rustdesk')
|
os.system('flutter build linux --release')
|
||||||
os.system("sed -i 's/pkgver=.*/pkgver=%s/g' PKGBUILD" % version)
|
os.system('strip build/linux/x64/release/liblibrustdesk.so')
|
||||||
# pacman -S -needed base-devel
|
os.system("sed -i 's/pkgver=.*/pkgver=%s/g' PKGBUILD" % version)
|
||||||
os.system('HBB=`pwd` makepkg -f')
|
# pacman -S -needed base-devel
|
||||||
os.system('mv rustdesk-%s-0-x86_64.pkg.tar.zst rustdesk-%s-manjaro-arch.pkg.tar.zst' % (version, version))
|
os.system('HBB=`pwd` makepkg -f')
|
||||||
# pacman -U ./rustdesk.pkg.tar.zst
|
os.system(
|
||||||
|
'mv rustdesk-%s-0-x86_64.pkg.tar.zst ../rustdesk-%s-manjaro-arch.pkg.tar.zst' % (version, version))
|
||||||
|
os.chdir('..')
|
||||||
|
else:
|
||||||
|
os.system('cargo build --release --features ' + features)
|
||||||
|
os.system('git checkout src/ui/common.tis')
|
||||||
|
os.system('strip target/release/rustdesk')
|
||||||
|
os.system("sed -i 's/pkgver=.*/pkgver=%s/g' PKGBUILD" % version)
|
||||||
|
# pacman -S -needed base-devel
|
||||||
|
os.system('HBB=`pwd` makepkg -f')
|
||||||
|
os.system(
|
||||||
|
'mv rustdesk-%s-0-x86_64.pkg.tar.zst rustdesk-%s-manjaro-arch.pkg.tar.zst' % (version, version))
|
||||||
|
# pacman -U ./rustdesk.pkg.tar.zst
|
||||||
elif os.path.isfile('/usr/bin/yum'):
|
elif os.path.isfile('/usr/bin/yum'):
|
||||||
os.system('cargo build --release --features ' + features)
|
os.system('cargo build --release --features ' + features)
|
||||||
os.system('strip target/release/rustdesk')
|
os.system('strip target/release/rustdesk')
|
||||||
@ -210,6 +227,7 @@ rcodesign notarize --api-issuer 69a6de7d-2907-47e3-e053-5b8c7c11a4d1 --api-key 9
|
|||||||
else:
|
else:
|
||||||
print('Not signed')
|
print('Not signed')
|
||||||
else:
|
else:
|
||||||
|
# buid deb package
|
||||||
os.system('mv target/release/bundle/deb/rustdesk*.deb ./rustdesk.deb')
|
os.system('mv target/release/bundle/deb/rustdesk*.deb ./rustdesk.deb')
|
||||||
os.system('dpkg-deb -R rustdesk.deb tmpdeb')
|
os.system('dpkg-deb -R rustdesk.deb tmpdeb')
|
||||||
os.system('mkdir -p tmpdeb/usr/share/rustdesk/files/systemd/')
|
os.system('mkdir -p tmpdeb/usr/share/rustdesk/files/systemd/')
|
||||||
|
19
flutter/rustdesk.desktop
Normal file
19
flutter/rustdesk.desktop
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Version=1.2.0
|
||||||
|
Name=RustDesk
|
||||||
|
GenericName=Remote Desktop
|
||||||
|
Comment=Remote Desktop
|
||||||
|
Exec=/usr/lib/rustdesk/flutter_hbb %u
|
||||||
|
Icon=/usr/share/rustdesk/files/rustdesk.png
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
StartupNotify=true
|
||||||
|
Categories=Network;RemoteAccess;GTK;
|
||||||
|
Keywords=internet;
|
||||||
|
Actions=new-window;
|
||||||
|
|
||||||
|
X-Desktop-File-Install-Version=0.23
|
||||||
|
|
||||||
|
[Desktop Action new-window]
|
||||||
|
Name=Open a New Window
|
||||||
|
|
16
flutter/rustdesk.service
Normal file
16
flutter/rustdesk.service
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=RustDesk
|
||||||
|
Requires=network.target
|
||||||
|
After=systemd-user-sessions.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/lib/rustdesk/flutter_hbb --service
|
||||||
|
PIDFile=/run/rustdesk.pid
|
||||||
|
KillMode=mixed
|
||||||
|
TimeoutStopSec=30
|
||||||
|
User=root
|
||||||
|
LimitNOFILE=100000
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
@ -19,6 +19,10 @@ pub fn core_main() -> bool {
|
|||||||
start_os_service();
|
start_os_service();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if args[1] == "--server" {
|
||||||
|
// TODO: server
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user