mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			Add onvif_simple_server daemon (#1752)
							parent
							
								
									1280422da0
								
							
						
					
					
						commit
						835eb29bc3
					
				|  | @ -0,0 +1,59 @@ | ||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | ONVIF_CONFIG="/etc/onvif.conf" | ||||||
|  | HTTPD_CONFIG="/etc/httpd_onvif.conf" | ||||||
|  | WWW_PATH="/var/www" | ||||||
|  | ONVIF_PORT=$(awk -F= '/^port=/{print $2}' ${ONVIF_CONFIG}) | ||||||
|  | DAEMON="httpd" | ||||||
|  | PIDFILE="/var/run/httpd_onvif.pid" | ||||||
|  | DAEMON_ARGS="-p $ONVIF_PORT -h $WWW_PATH -c $HTTPD_CONFIG -f" | ||||||
|  | 
 | ||||||
|  | start() { | ||||||
|  | 	echo -n "Starting ONVIF HTTPD server: " | ||||||
|  | 
 | ||||||
|  | 	fw_version="OpenIPC $(grep "OPENIPC_VERSION" /etc/os-release | cut -d= -f2 | tr -d '"')" | ||||||
|  | 	network_interface=$(ip route | awk '/default/ {print $5}' | head -n1) | ||||||
|  | 	network_macaddr=$(cat /sys/class/net/${network_interface}/address | sed 's/://g') | ||||||
|  | 	soc=$(ipcinfo --chip-name) | ||||||
|  | 
 | ||||||
|  | 	sed -i "s/^firmware_ver=.*/firmware_ver=$fw_version/" $ONVIF_CONFIG | ||||||
|  | 	sed -i "s/^hardware_id=.*/hardware_id=$soc/" $ONVIF_CONFIG | ||||||
|  | 	sed -i "s/^serial_num=.*/serial_num=$network_macaddr/" $ONVIF_CONFIG | ||||||
|  | 	sed -i "s/^ifs=.*/ifs=$network_interface/" $ONVIF_CONFIG | ||||||
|  | 	echo -e "A:*\n/cgi-bin*:*\n" > $HTTPD_CONFIG | ||||||
|  | 
 | ||||||
|  | 	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON" -- $DAEMON_ARGS | ||||||
|  | 	if [ $? -eq 0 ]; then | ||||||
|  | 		echo "OK" | ||||||
|  | 	else | ||||||
|  | 		echo "FAIL" | ||||||
|  | 	fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | stop() { | ||||||
|  | 	echo -n "Stopping ONVIF HTTPD server: " | ||||||
|  | 	start-stop-daemon -K -q -p "$PIDFILE" | ||||||
|  | 	if [ $? -eq 0 ]; then | ||||||
|  | 		rm -f "$PIDFILE" | ||||||
|  | 		echo "OK" | ||||||
|  | 	else | ||||||
|  | 		echo "FAIL" | ||||||
|  | 	fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | case "$1" in | ||||||
|  | 	start|stop) | ||||||
|  | 		$1 | ||||||
|  | 		;; | ||||||
|  | 
 | ||||||
|  | 	restart) | ||||||
|  | 		stop | ||||||
|  | 		sleep 3 | ||||||
|  | 		start | ||||||
|  | 		;; | ||||||
|  | 
 | ||||||
|  | 	*) | ||||||
|  | 		echo "Usage: $0 {start|stop|restart}" | ||||||
|  | 		exit 1 | ||||||
|  | 		;; | ||||||
|  | esac | ||||||
|  | @ -21,6 +21,8 @@ define ONVIF_SIMPLE_SERVER_INSTALL_TARGET_CMDS | ||||||
| 	$(INSTALL) -m 0755 -t $(TARGET_DIR)/usr/sbin $(@D)/wsd_simple_server | 	$(INSTALL) -m 0755 -t $(TARGET_DIR)/usr/sbin $(@D)/wsd_simple_server | ||||||
| 	$(INSTALL) -m 0755 -d $(TARGET_DIR)/etc | 	$(INSTALL) -m 0755 -d $(TARGET_DIR)/etc | ||||||
| 	$(INSTALL) -m 0644 -t $(TARGET_DIR)/etc $(ONVIF_SIMPLE_SERVER_PKGDIR)/files/onvif.conf | 	$(INSTALL) -m 0644 -t $(TARGET_DIR)/etc $(ONVIF_SIMPLE_SERVER_PKGDIR)/files/onvif.conf | ||||||
|  | 	$(INSTALL) -m 0755 -d $(TARGET_DIR)/etc/init.d | ||||||
|  | 	$(INSTALL) -m 0755 -t $(TARGET_DIR)/etc/init.d $(ONVIF_SIMPLE_SERVER_PKGDIR)/files/S96onvifserver | ||||||
| 	$(INSTALL) -m 0755 -d $(TARGET_DIR)/var/www/onvif/device_service_files | 	$(INSTALL) -m 0755 -d $(TARGET_DIR)/var/www/onvif/device_service_files | ||||||
| 	$(INSTALL) -m 0644 -t $(TARGET_DIR)/var/www/onvif/device_service_files $(@D)/device_service_files/* | 	$(INSTALL) -m 0644 -t $(TARGET_DIR)/var/www/onvif/device_service_files $(@D)/device_service_files/* | ||||||
| 	$(INSTALL) -m 0755 -d $(TARGET_DIR)/var/www/onvif/generic_files | 	$(INSTALL) -m 0755 -d $(TARGET_DIR)/var/www/onvif/generic_files | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue