Skip to content

Commit 2d90eed

Browse files
committed
Merge branch 'master' into feature/KASM-6904-add-alpine-dependencies
2 parents d9131dc + c235e5f commit 2d90eed

38 files changed

+122
-1141
lines changed

.gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*.lo
55
.deps
66
.libs
7+
*.swp
78

89
CMakeFiles
910
CMakeCache.txt
@@ -12,6 +13,10 @@ Makefile
1213
Makefile.in
1314
config.h
1415

16+
libjpeg-turbo/
17+
xorg.build/
18+
install_manifest.txt
19+
1520
builder/build/
1621
builder/www/
1722
spec/tmp

.gitlab-ci.yml

+1-190
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ variables:
77
GITLAB_SHARED_DIND_DIR: /builds/$CI_PROJECT_PATH/shared
88
GIT_SUBMODULE_STRATEGY: normal
99
GIT_FETCH_EXTRA_FLAGS: --tags --force
10-
# E.g. BUILD_JOBS: build_debian_buster,build_ubuntu_bionic. This will include
10+
# E.g. BUILD_JOBS: build_debian_buster,build_ubuntu_focal. This will include
1111
# arm builds, because build_debian_buster_arm matches build_debian_buster.
1212
# "BUILD_JOBS: none" won't build any build jobs, nor www.
1313
BUILD_JOBS: all
@@ -66,44 +66,6 @@ build_www:
6666
paths:
6767
- output/
6868

69-
build_ubuntu_bionic:
70-
stage: build
71-
allow_failure: true
72-
tags:
73-
- oci-fixed-amd
74-
before_script:
75-
- *prepare_build
76-
- *prepare_www
77-
after_script:
78-
- *prepare_artfacts
79-
script:
80-
- bash builder/build-package ubuntu bionic
81-
only:
82-
variables:
83-
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
84-
artifacts:
85-
paths:
86-
- output/
87-
88-
build_ubuntu_bionic_arm:
89-
stage: build
90-
allow_failure: false
91-
tags:
92-
- oci-fixed-arm
93-
before_script:
94-
- *prepare_build
95-
- *prepare_www
96-
after_script:
97-
- *prepare_artfacts
98-
script:
99-
- bash builder/build-package ubuntu bionic
100-
only:
101-
variables:
102-
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
103-
artifacts:
104-
paths:
105-
- output/
106-
10769
build_ubuntu_focal:
10870
stage: build
10971
allow_failure: true
@@ -218,44 +180,6 @@ build_ubuntu_noble_arm:
218180
paths:
219181
- output/
220182

221-
build_debian_buster:
222-
stage: build
223-
allow_failure: true
224-
tags:
225-
- oci-fixed-amd
226-
before_script:
227-
- *prepare_build
228-
- *prepare_www
229-
after_script:
230-
- *prepare_artfacts
231-
script:
232-
- bash builder/build-package debian buster;
233-
only:
234-
variables:
235-
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
236-
artifacts:
237-
paths:
238-
- output/
239-
240-
build_debian_buster_arm:
241-
stage: build
242-
allow_failure: true
243-
tags:
244-
- oci-fixed-arm
245-
before_script:
246-
- *prepare_build
247-
- *prepare_www
248-
after_script:
249-
- *prepare_artfacts
250-
script:
251-
- bash builder/build-package debian buster;
252-
only:
253-
variables:
254-
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
255-
artifacts:
256-
paths:
257-
- output/
258-
259183
build_debian_bullseye:
260184
stage: build
261185
allow_failure: true
@@ -485,82 +409,6 @@ build_opensuse_15_arm:
485409
paths:
486410
- output/
487411

488-
build_fedora_thirtyseven:
489-
stage: build
490-
allow_failure: true
491-
tags:
492-
- oci-fixed-amd
493-
before_script:
494-
- *prepare_build
495-
- *prepare_www
496-
after_script:
497-
- *prepare_artfacts
498-
script:
499-
- bash builder/build-package fedora thirtyseven;
500-
only:
501-
variables:
502-
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
503-
artifacts:
504-
paths:
505-
- output/
506-
507-
build_fedora_thirtyseven_arm:
508-
stage: build
509-
allow_failure: true
510-
tags:
511-
- oci-fixed-arm
512-
before_script:
513-
- *prepare_build
514-
- *prepare_www
515-
after_script:
516-
- *prepare_artfacts
517-
script:
518-
- bash builder/build-package fedora thirtyseven;
519-
only:
520-
variables:
521-
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
522-
artifacts:
523-
paths:
524-
- output/
525-
526-
build_fedora_thirtyeight:
527-
stage: build
528-
allow_failure: true
529-
tags:
530-
- oci-fixed-amd
531-
before_script:
532-
- *prepare_build
533-
- *prepare_www
534-
after_script:
535-
- *prepare_artfacts
536-
script:
537-
- bash builder/build-package fedora thirtyeight;
538-
only:
539-
variables:
540-
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
541-
artifacts:
542-
paths:
543-
- output/
544-
545-
build_fedora_thirtyeight_arm:
546-
stage: build
547-
allow_failure: true
548-
tags:
549-
- oci-fixed-arm
550-
before_script:
551-
- *prepare_build
552-
- *prepare_www
553-
after_script:
554-
- *prepare_artfacts
555-
script:
556-
- bash builder/build-package fedora thirtyeight;
557-
only:
558-
variables:
559-
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
560-
artifacts:
561-
paths:
562-
- output/
563-
564412
build_fedora_thirtynine:
565413
stage: build
566414
allow_failure: true
@@ -675,43 +523,6 @@ build_fedora_fortyone_arm:
675523
paths:
676524
- output/
677525

678-
build_alpine_317:
679-
stage: build
680-
allow_failure: true
681-
tags:
682-
- oci-fixed-amd
683-
before_script:
684-
- *prepare_build
685-
- *prepare_www
686-
after_script:
687-
- *prepare_artfacts
688-
script:
689-
- bash builder/build-package alpine 317;
690-
only:
691-
variables:
692-
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
693-
artifacts:
694-
paths:
695-
- output/
696-
697-
build_alpine_317_arm:
698-
stage: build
699-
allow_failure: true
700-
tags:
701-
- oci-fixed-arm
702-
before_script:
703-
- *prepare_build
704-
- *prepare_www
705-
after_script:
706-
- *prepare_artfacts
707-
script:
708-
- bash builder/build-package alpine 317;
709-
only:
710-
variables:
711-
- $BUILD_JOBS == 'all' || $BUILD_JOBS =~ $CI_JOB_NAME
712-
artifacts:
713-
paths:
714-
- output/
715526

716527
test:
717528
stage: test

BUILDING.txt

+40-7
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Build Requirements (Windows)
4848
You also need the Inno Setup Preprocessor, which is available in the
4949
Inno Setup QuickStart Pack.
5050

51-
Add the directory containing iscc.exe (for instance,
51+
Add the directory containing iscc.exe (for instance,
5252
C:\Program Files\Inno Setup 5) to the system or user PATH environment
5353
variable prior to building KasmVNC.
5454

@@ -71,6 +71,39 @@ For in-tree builds, these directories are the same.
7171
Building KasmVNC
7272
=================
7373

74+
Building the KasmVNC Server using Docker
75+
----------------------------------------
76+
77+
```bash
78+
git submodule init
79+
git submodule update --remote --merge
80+
sudo docker build -t kasmvnc:dev -f builder/dockerfile.ubuntu_jammy.dev .
81+
sudo docker run -it -v ./:/src -p 6901:6901 kasmvnc:dev
82+
```
83+
84+
Now from inside the container.
85+
86+
```bash
87+
# build frontend
88+
cd kasmweb
89+
npm install
90+
npm run build # <-- only run this on subsequent changes to front-end code
91+
cd ..
92+
# build dependencies
93+
sudo builder/scripts/build-webp
94+
sudo builder/scripts/build-build-libjpeg-turbo
95+
# Build KasmVNC
96+
builder/build.sh
97+
```
98+
99+
Now run Xvnc and Xfce4 from inside the container
100+
101+
```bash
102+
/src/xorg.build/bin/Xvnc -interface 0.0.0.0 -PublicIP 127.0.0.1 -disableBasicAuth -RectThreads 0 -Log *:stdout:100 -httpd /src/kasmweb/dist -sslOnly 0 -SecurityTypes None -websocketPort 6901 :1 &
103+
/usr/bin/xfce4-session --display :1
104+
```
105+
106+
Now open a browser and navigate to your dev VM on port 6901.
74107

75108
Building the KasmVNC Server on Modern Unix/Linux Systems
76109
---------------------------------------------------------
@@ -90,7 +123,7 @@ but the general outline is as follows.
90123
> cp -R {xorg_source}/* unix/xserver/
91124
(NOTE: {xorg_source} is the directory containing the Xorg source for the
92125
machine on which you are building KasmVNC. The most recent versions of
93-
Red Hat/CentOS/Fedora, for instance, provide an RPM called
126+
Red Hat/Fedora, for instance, provide an RPM called
94127
"xorg-x11-server-source", which installs the Xorg source under
95128
/usr/share/xorg-x11-server-source.)
96129

@@ -113,8 +146,8 @@ but the general outline is as follows.
113146
--with-serverconfig-path=/usr/lib[64]/xorg \
114147
--with-dri-driver-path=/usr/lib[64]/dri \
115148
{additional configure options}
116-
(NOTE: This is merely an example that works with Red Hat Enterprise/CentOS
117-
6 and recent Fedora releases. You should customize it for your particular
149+
(NOTE: This is merely an example that works with Red Hat Enterprise
150+
and recent Fedora releases. You should customize it for your particular
118151
system. In particular, it will be necessary to customize the font, XKB,
119152
and DRI directories.)
120153

@@ -187,7 +220,7 @@ Building TLS Support
187220
======================================
188221

189222
TLS requires GnuTLS, which is supplied with most Linux distributions and
190-
with MinGW for Windows and can be built from source on OS X and other
223+
with MinGW for Windows and can be built from source on OS X and other
191224
Unix variants. However, GnuTLS versions > 2.12.x && < 3.3.x should be
192225
avoided because of potential incompatibilities during initial handshaking.
193226

@@ -314,7 +347,7 @@ X server source (for instance, --host=i686-pc-linux-gnu).
314347
Add
315348

316349
-DCMAKE_OSX_SYSROOT=/Developer/SDKs/MacOSX10.5.sdk \
317-
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.5
350+
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.5
318351

319352
to the CMake command line. The OS X 10.5 SDK must be installed.
320353

@@ -406,7 +439,7 @@ Distribution-Specific Packaging
406439
===============================
407440

408441

409-
RPM Packages for RHEL / CentOS
442+
RPM Packages for RHEL
410443
------------------------------
411444

412445
The RPM spec files and patches used to create the nightly builds

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ if(ENABLE_NLS)
245245
add_subdirectory(po)
246246
endif()
247247

248-
add_subdirectory(tests)
248+
####add_subdirectory(tests)
249249

250250

251251
include(cmake/BuildPackages.cmake)

README.md

+1-17
Original file line numberDiff line numberDiff line change
@@ -46,22 +46,6 @@ sudo dnf localinstall ./kasmvncserver_*.rpm
4646
sudo usermod -a -G kasmvnc-cert $USER
4747
```
4848

49-
### CentOS 7
50-
51-
```sh
52-
# Please choose the package for your distro here (under Assets):
53-
# https://github.com/kasmtech/KasmVNC/releases
54-
wget <package_url>
55-
56-
# Ensure KasmVNC dependencies are available
57-
sudo yum install epel-release
58-
59-
sudo yum install ./kasmvncserver_*.rpm
60-
61-
# Add your user to the kasmvnc-cert group
62-
sudo usermod -a -G kasmvnc-cert $USER
63-
```
64-
6549
## Getting Started
6650

6751
The following examples provide basic usage of KasmVNC with the tools provided. For full documentation on all the utilities and the runtime environment, see our [KasmVNC Documentation](https://www.kasmweb.com/kasmvnc/docs/latest/index.html)
@@ -250,7 +234,7 @@ command_line:
250234
- Keyboard input rate limit
251235
- Screen region selection
252236
- Deb packages for Debian, Ubuntu, and Kali Linux included in release.
253-
- RPM packages for CentOS, Oracle, OpenSUSE, Fedora. RPM packages are currently not updatable and not released, though you can build and install them. See build documentation.
237+
- RPM packages for Oracle, OpenSUSE, Fedora. RPM packages are currently not updatable and not released, though you can build and install them. See build documentation.
254238
- Web [API](https://github.com/kasmtech/KasmVNC/wiki/API) added for remotely controlling and getting information from KasmVNC
255239
- Multi-User support with permissions that can be changed via the API
256240
- Web UI uses a webpack for faster load times.

0 commit comments

Comments
 (0)