Rpm: CentOS dfart. Rpm building isn't automated yet.
							parent
							
								
									a6512a7801
								
							
						
					
					
						commit
						90101a7e91
					
				@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cd "$(dirname "$0")/.."
 | 
				
			||||||
 | 
					. builder/os_ver_cli.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					docker build -t kasmvnc_rpmbuilder_${os}:${os_codename} -f \
 | 
				
			||||||
 | 
					  builder/dockerfile.${os}_${os_codename}.rpm.build .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rpm_output_dir=$(cd .. && echo $PWD)
 | 
				
			||||||
 | 
					L_UID=$(id -u) #Ubuntu already has UID env var, but this should work on all Linix systems
 | 
				
			||||||
 | 
					L_GID=$(id -g)
 | 
				
			||||||
 | 
					docker run --rm -v "$rpm_output_dir":/src --user $L_UID:$L_GID \
 | 
				
			||||||
 | 
					  kasmvnc_rpmbuilder_${os}:${os_codename} /bin/bash -c \
 | 
				
			||||||
 | 
					  '/src/*/builder/build-rpm-inside-docker'
 | 
				
			||||||
@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					FROM centos:centos7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN yum install -y epel-release && yum groupinstall xfce -y
 | 
				
			||||||
 | 
					RUN yum install -y xterm perl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG KASMVNC_PACKAGE_DIR
 | 
				
			||||||
 | 
					COPY $KASMVNC_PACKAGE_DIR/*.rpm /tmp
 | 
				
			||||||
 | 
					RUN yum localinstall -y /tmp/*.rpm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN useradd -m docker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					USER docker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN mkdir ~/.vnc && echo '/usr/bin/xfce4-session &' >> ~/.vnc/xstartup && \
 | 
				
			||||||
 | 
					  chmod +x ~/.vnc/xstartup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRYPOINT bash -c "vncserver :1 -interface 0.0.0.0 && vncserver -kill :1 && vncserver :1 -depth 24 -geometry 1280x1050 -websocketPort 8443 -cert /etc/ssl/certs/ssl-cert-snakeoil.pem -key /etc/ssl/private/ssl-cert-snakeoil.key -sslOnly -FrameRate=24 -interface 0.0.0.0 -httpd /usr/share/kasmvnc/www && tail -f $HOME/.vnc/*.log "
 | 
				
			||||||
@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					FROM centos:centos7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN yum install -y rpm* gpg* rng-tools
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN useradd -m docker && echo "docker:docker" | chpasswd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY . /src
 | 
				
			||||||
 | 
					RUN chown -R docker:docker /src
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					USER docker
 | 
				
			||||||
@ -0,0 +1,61 @@
 | 
				
			|||||||
 | 
					FROM centos:centos7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV DISPLAY=:1 \
 | 
				
			||||||
 | 
					    VNC_PORT=8443 \
 | 
				
			||||||
 | 
					    VNC_RESOLUTION=1280x720 \
 | 
				
			||||||
 | 
					    MAX_FRAME_RATE=24 \
 | 
				
			||||||
 | 
					    VNCOPTIONS="-PreferBandwidth -DynamicQualityMin=4 -DynamicQualityMax=7" \
 | 
				
			||||||
 | 
					    HOME=/home/user \
 | 
				
			||||||
 | 
					    TERM=xterm \
 | 
				
			||||||
 | 
					    STARTUPDIR=/dockerstartup \
 | 
				
			||||||
 | 
					    INST_SCRIPTS=/dockerstartup/install \
 | 
				
			||||||
 | 
					    KASM_RX_HOME=/dockerstartup/kasmrx \
 | 
				
			||||||
 | 
					    DEBIAN_FRONTEND=noninteractive \
 | 
				
			||||||
 | 
					    VNC_COL_DEPTH=24 \
 | 
				
			||||||
 | 
					    VNC_RESOLUTION=1280x1024 \
 | 
				
			||||||
 | 
					    VNC_PW=vncpassword \
 | 
				
			||||||
 | 
					    VNC_USER=user \
 | 
				
			||||||
 | 
					    VNC_VIEW_ONLY_PW=vncviewonlypassword \
 | 
				
			||||||
 | 
					    LD_LIBRARY_PATH=/usr/local/lib/ \
 | 
				
			||||||
 | 
					    OMP_WAIT_POLICY=PASSIVE \
 | 
				
			||||||
 | 
					    SHELL=/bin/bash \
 | 
				
			||||||
 | 
					    SINGLE_APPLICATION=0 \
 | 
				
			||||||
 | 
					    KASMVNC_BUILD_OS=centos \
 | 
				
			||||||
 | 
					    KASMVNC_BUILD_OS_CODENAME=core
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EXPOSE $VNC_PORT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WORKDIR $HOME
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### REQUIRED STUFF ###
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN yum install -y openssl xterm gettext wget
 | 
				
			||||||
 | 
					RUN yum install -y centos-release-scl-rh && yum install -y nss_wrapper
 | 
				
			||||||
 | 
					RUN yum install -y xorg-x11-server xorg-x11-xauth xorg-x11-xkb-utils \
 | 
				
			||||||
 | 
					  xkeyboard-config xorg-x11-server-utils
 | 
				
			||||||
 | 
					RUN yum install -y epel-release && yum groupinstall xfce -y
 | 
				
			||||||
 | 
					RUN yum erase -y pm-utils xscreensaver*
 | 
				
			||||||
 | 
					RUN yum install -y redhat-lsb-core
 | 
				
			||||||
 | 
					RUN yum install -y vim less
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN echo 'source $STARTUPDIR/generate_container_user' >> $HOME/.bashrc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN mkdir -p $STARTUPDIR
 | 
				
			||||||
 | 
					COPY startup/ $STARTUPDIR
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### START CUSTOM STUFF ####
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG KASMVNC_PACKAGE_DIR
 | 
				
			||||||
 | 
					COPY $KASMVNC_PACKAGE_DIR/*.rpm /tmp
 | 
				
			||||||
 | 
					RUN yum localinstall -y /tmp/*.rpm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### END CUSTOM STUFF ###
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN chown -R 1000:0 $HOME
 | 
				
			||||||
 | 
					USER 1000
 | 
				
			||||||
 | 
					WORKDIR $HOME
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN mkdir ~/.vnc && echo '/usr/bin/xfce4-session &' >> ~/.vnc/xstartup && \
 | 
				
			||||||
 | 
					  chmod +x ~/.vnc/xstartup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENTRYPOINT [ "/dockerstartup/vnc_startup.sh" ]
 | 
				
			||||||
@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cd "$(dirname "$0")"
 | 
				
			||||||
 | 
					. ./os_ver_cli.sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo kasmvnctester_${os}:$os_codename
 | 
				
			||||||
 | 
					docker build --build-arg \
 | 
				
			||||||
 | 
					  KASMVNC_PACKAGE_DIR="build" \
 | 
				
			||||||
 | 
					  -t kasmvnctester_${os}:$os_codename \
 | 
				
			||||||
 | 
					  -f dockerfile.${os}_${os_codename}.rpm.test .
 | 
				
			||||||
 | 
					echo docker run -it -p 443:8443 --rm -e "VNC_USER=foo" -e "VNC_PW=bar" \
 | 
				
			||||||
 | 
					  kasmvnctester_${os}:$os_codename
 | 
				
			||||||
@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cd "$(dirname "$0")"
 | 
				
			||||||
 | 
					os="centos"
 | 
				
			||||||
 | 
					os_codename="core"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					docker build --build-arg KASMVNC_PACKAGE_DIR="build" \
 | 
				
			||||||
 | 
					  -t kasmvnctester_barebones_${os}:$os_codename \
 | 
				
			||||||
 | 
					  -f dockerfile.${os}_${os_codename}.barebones.rpm.test .
 | 
				
			||||||
 | 
					echo
 | 
				
			||||||
 | 
					echo "You will be asked to set password. User name is docker."
 | 
				
			||||||
 | 
					docker run -it -p 443:8443 --rm kasmvnctester_barebones_${os}:$os_codename
 | 
				
			||||||
@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					Name:           kasmvncserver
 | 
				
			||||||
 | 
					Version:        0.9.1~beta
 | 
				
			||||||
 | 
					Release:        1%{?dist}
 | 
				
			||||||
 | 
					Summary:        Lorem ipsum
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					License: GPLv2+
 | 
				
			||||||
 | 
					URL: https://github.com/kasmtech/KasmVNC
 | 
				
			||||||
 | 
					Source0: kasmvnc.centos_core.tar.gz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Lorem ipsum
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%prep
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%install
 | 
				
			||||||
 | 
					rm -rf $RPM_BUILD_ROOT
 | 
				
			||||||
 | 
					DESTDIR=$RPM_BUILD_ROOT make -f /src/KasmVNC/debian/Makefile.to_fakebuild_tar_package install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%files
 | 
				
			||||||
 | 
					/usr/bin/*
 | 
				
			||||||
 | 
					/usr/share/man/man1
 | 
				
			||||||
 | 
					/usr/share/kasmvnc/www
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%doc /usr/share/doc/kasmvncserver
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%changelog
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%post
 | 
				
			||||||
 | 
					  bindir=/usr/bin
 | 
				
			||||||
 | 
					  mandir=/usr/share/man
 | 
				
			||||||
 | 
					  commands="kasmvncserver kasmvncpasswd kasmvncconfig Xkasmvnc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  for kasm_command in $commands; do
 | 
				
			||||||
 | 
					    generic_command=`echo "$kasm_command" | sed -e 's/kasm//'`;
 | 
				
			||||||
 | 
					    update-alternatives --install "$bindir/$generic_command" \
 | 
				
			||||||
 | 
					      "$generic_command" "$bindir/$kasm_command" 90 \
 | 
				
			||||||
 | 
					      --slave "$mandir/man1/$generic_command.1.gz" "$generic_command.1.gz" \
 | 
				
			||||||
 | 
					        "$mandir/man1/$kasm_command.1.gz"
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
 | 
					;;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%postun
 | 
				
			||||||
 | 
					  bindir=/usr/bin
 | 
				
			||||||
 | 
					  mandir=/usr/share/man
 | 
				
			||||||
 | 
					  commands="kasmvncserver kasmvncpasswd kasmvncconfig Xkasmvnc"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  for kasm_command in $commands; do
 | 
				
			||||||
 | 
					    generic_command=`echo "$kasm_command" | sed -e 's/kasm//'`;
 | 
				
			||||||
 | 
					    update-alternatives --remove "$generic_command" "$bindir/$kasm_command"
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
					Loading…
					
					
				
		Reference in New Issue