diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cead1fd --- /dev/null +++ b/.gitignore @@ -0,0 +1,46 @@ +1_create_package/gogs/* +!1_create_package/gogs/put_gogs_binary_here + +gogs.spk +gogs*.zip +gogs*.tar.gz + + +#### joe made this: http://goel.io/joe +#### OSX #### +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk +#### vim #### +# swap +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +# session +Session.vim +# temporary +.netrwhist +*~ +# auto-generated tag files +tags + diff --git a/1_create_package/gogs/put_gogs_binary_here b/1_create_package/gogs/put_gogs_binary_here new file mode 100644 index 0000000..e69de29 diff --git a/1_create_package/ui/config b/1_create_package/ui/config new file mode 100644 index 0000000..b99dcc9 --- /dev/null +++ b/1_create_package/ui/config @@ -0,0 +1,15 @@ +{ + ".url": { + "com.gogits.gogs": { + "type": "url", + "allUsers": true, + "title": "Gogs", + "desc": "Gogs (Go Git Service) is a painless self-hosted Git service", + "icon": "gogs-{0}.png", + "protocol": "http", + "url": "/", + "port": "3000", + "grantPrivilege": "local" + } + } +} diff --git a/1_create_package/ui/gogs-120.png b/1_create_package/ui/gogs-120.png new file mode 100644 index 0000000..8a649d9 Binary files /dev/null and b/1_create_package/ui/gogs-120.png differ diff --git a/1_create_package/ui/gogs-16.png b/1_create_package/ui/gogs-16.png new file mode 100644 index 0000000..5a1cde8 Binary files /dev/null and b/1_create_package/ui/gogs-16.png differ diff --git a/1_create_package/ui/gogs-24.png b/1_create_package/ui/gogs-24.png new file mode 100644 index 0000000..a8163d0 Binary files /dev/null and b/1_create_package/ui/gogs-24.png differ diff --git a/1_create_package/ui/gogs-256.png b/1_create_package/ui/gogs-256.png new file mode 100644 index 0000000..ed389a9 Binary files /dev/null and b/1_create_package/ui/gogs-256.png differ diff --git a/1_create_package/ui/gogs-32.png b/1_create_package/ui/gogs-32.png new file mode 100644 index 0000000..b62aa1f Binary files /dev/null and b/1_create_package/ui/gogs-32.png differ diff --git a/1_create_package/ui/gogs-48.png b/1_create_package/ui/gogs-48.png new file mode 100644 index 0000000..355e36c Binary files /dev/null and b/1_create_package/ui/gogs-48.png differ diff --git a/1_create_package/ui/gogs-64.png b/1_create_package/ui/gogs-64.png new file mode 100644 index 0000000..20da9f0 Binary files /dev/null and b/1_create_package/ui/gogs-64.png differ diff --git a/1_create_package/ui/gogs-72.png b/1_create_package/ui/gogs-72.png new file mode 100644 index 0000000..f9a8887 Binary files /dev/null and b/1_create_package/ui/gogs-72.png differ diff --git a/1_create_package/ui/gogs-90.png b/1_create_package/ui/gogs-90.png new file mode 100644 index 0000000..0f31c1c Binary files /dev/null and b/1_create_package/ui/gogs-90.png differ diff --git a/2_create_project/INFO b/2_create_project/INFO new file mode 100644 index 0000000..3e3b387 --- /dev/null +++ b/2_create_project/INFO @@ -0,0 +1,20 @@ +package="Gogs" +version="0.9.13" +description="A painless self-hosted Git service" +support_url="https://discuss.gogs.io/" +displayname="Gogs" +maintainer="Gogs" +maintainer_url="https://gogs.io" +distributor="Alexandre Espinosa Menor" +distributor_url="https://github.com/alexandregz/gogs-spk" +arch="noarch" +adminport=3000 +adminurl="admin" +dsmuidir="ui" +checkport="yes" +dsmappname="com.gogits.gogs" +support_center="yes" +install_dep_services="git mysql" +start_dep_services="git mysql" +support_conf_folder="yes" +package_icon="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" diff --git a/2_create_project/PACKAGE_ICON.PNG b/2_create_project/PACKAGE_ICON.PNG new file mode 100644 index 0000000..f9a8887 Binary files /dev/null and b/2_create_project/PACKAGE_ICON.PNG differ diff --git a/2_create_project/PACKAGE_ICON_120.PNG b/2_create_project/PACKAGE_ICON_120.PNG new file mode 100644 index 0000000..8a649d9 Binary files /dev/null and b/2_create_project/PACKAGE_ICON_120.PNG differ diff --git a/2_create_project/PACKAGE_ICON_256.PNG b/2_create_project/PACKAGE_ICON_256.PNG new file mode 100644 index 0000000..ed389a9 Binary files /dev/null and b/2_create_project/PACKAGE_ICON_256.PNG differ diff --git a/2_create_project/WIZARD_UIFILES/install_uifile b/2_create_project/WIZARD_UIFILES/install_uifile new file mode 100644 index 0000000..70d51e5 --- /dev/null +++ b/2_create_project/WIZARD_UIFILES/install_uifile @@ -0,0 +1,11 @@ +[{ + "step_title": "Gogs configuration: Debug", + "items": [{ + "type": "multiselect", + "desc": "Check to create debug when start and see what happens behind the scenes (New log file at each start)", + "subitems": [{ + "key": "wizard_create_log", + "desc": "Create log file at start" + }] + }] +}] diff --git a/2_create_project/conf/PKG_DEPS b/2_create_project/conf/PKG_DEPS new file mode 100644 index 0000000..847c5c7 --- /dev/null +++ b/2_create_project/conf/PKG_DEPS @@ -0,0 +1,4 @@ +[MariaDB] +dsm_min_ver=5.0-4300 +[Git] +dsm_min_ver=1.8.0 diff --git a/2_create_project/conf/resource b/2_create_project/conf/resource new file mode 100644 index 0000000..34425ba --- /dev/null +++ b/2_create_project/conf/resource @@ -0,0 +1 @@ +{"service-cfg":{}} \ No newline at end of file diff --git a/2_create_project/conf/resource.own b/2_create_project/conf/resource.own new file mode 100644 index 0000000..edae4bf --- /dev/null +++ b/2_create_project/conf/resource.own @@ -0,0 +1 @@ +{"service-cfg":{"jobs":[]}} \ No newline at end of file diff --git a/2_create_project/scripts/gogs.sc b/2_create_project/scripts/gogs.sc new file mode 100755 index 0000000..55dee8e --- /dev/null +++ b/2_create_project/scripts/gogs.sc @@ -0,0 +1,6 @@ +[gogs] +title="gogs" +desc="Gogs" +port_forward="yes" +dst.ports="3000/tcp" + diff --git a/2_create_project/scripts/installer b/2_create_project/scripts/installer new file mode 100755 index 0000000..bbbaed5 --- /dev/null +++ b/2_create_project/scripts/installer @@ -0,0 +1,69 @@ +#!/bin/sh + +# Package +PACKAGE="gogs" +DNAME="Gogs" + +INSTALL_DIR="/usr/local/${PACKAGE}" +SSS="/var/packages/${DNAME}/scripts/start-stop-status" +PATH="${INSTALL_DIR}:${PATH}" + +SERVICETOOL="/usr/syno/bin/servicetool" +FWPORTS="/var/packages/${DNAME}/scripts/${PACKAGE}.sc" + +FILE_CREATE_LOG="${INSTALL_DIR}/gogs/wizard_create_log" + +preinst () +{ + exit 0 +} + +postinst () +{ + # Link + ln -s ${SYNOPKG_PKGDEST} ${INSTALL_DIR} + + # to create log at each start + if [ "${wizard_create_log}" == "true" ]; then + touch ${FILE_CREATE_LOG} + fi + + # Add firewall config + ${SERVICETOOL} --install-configure-file --package ${FWPORTS} >> /dev/null + + exit 0 +} + +preuninst () +{ + # Stop the package + ${SSS} stop > /dev/null + + # Remove firewall config + if [ "${SYNOPKG_PKG_STATUS}" == "UNINSTALL" ]; then + ${SERVICETOOL} --remove-configure-file --package ${PACKAGE}.sc >> /dev/null + fi + + exit 0 +} + +postuninst () +{ + # Remove link + rm -f ${INSTALL_DIR} + + exit 0 +} + +preupgrade () +{ + # Stop the package + ${SSS} stop > /dev/null + + exit 0 +} + +postupgrade () +{ + exit 0 +} diff --git a/2_create_project/scripts/postinst b/2_create_project/scripts/postinst new file mode 100755 index 0000000..0c6254a --- /dev/null +++ b/2_create_project/scripts/postinst @@ -0,0 +1,3 @@ +#!/bin/sh +. `dirname $0`/installer +`basename $0` > $SYNOPKG_TEMP_LOGFILE diff --git a/2_create_project/scripts/postuninst b/2_create_project/scripts/postuninst new file mode 100755 index 0000000..0c6254a --- /dev/null +++ b/2_create_project/scripts/postuninst @@ -0,0 +1,3 @@ +#!/bin/sh +. `dirname $0`/installer +`basename $0` > $SYNOPKG_TEMP_LOGFILE diff --git a/2_create_project/scripts/postupgrade b/2_create_project/scripts/postupgrade new file mode 100755 index 0000000..0c6254a --- /dev/null +++ b/2_create_project/scripts/postupgrade @@ -0,0 +1,3 @@ +#!/bin/sh +. `dirname $0`/installer +`basename $0` > $SYNOPKG_TEMP_LOGFILE diff --git a/2_create_project/scripts/preinst b/2_create_project/scripts/preinst new file mode 100755 index 0000000..0c6254a --- /dev/null +++ b/2_create_project/scripts/preinst @@ -0,0 +1,3 @@ +#!/bin/sh +. `dirname $0`/installer +`basename $0` > $SYNOPKG_TEMP_LOGFILE diff --git a/2_create_project/scripts/preuninst b/2_create_project/scripts/preuninst new file mode 100755 index 0000000..0c6254a --- /dev/null +++ b/2_create_project/scripts/preuninst @@ -0,0 +1,3 @@ +#!/bin/sh +. `dirname $0`/installer +`basename $0` > $SYNOPKG_TEMP_LOGFILE diff --git a/2_create_project/scripts/preupgrade b/2_create_project/scripts/preupgrade new file mode 100755 index 0000000..0c6254a --- /dev/null +++ b/2_create_project/scripts/preupgrade @@ -0,0 +1,3 @@ +#!/bin/sh +. `dirname $0`/installer +`basename $0` > $SYNOPKG_TEMP_LOGFILE diff --git a/2_create_project/scripts/start-stop-status b/2_create_project/scripts/start-stop-status new file mode 100755 index 0000000..246c21f --- /dev/null +++ b/2_create_project/scripts/start-stop-status @@ -0,0 +1,99 @@ +#!/bin/sh +# +# with WIZARD_FILES select log file or not +# + +# Package +PACKAGE="gogs" +DNAME="Gogs" + +# Others +INSTALL_DIR="/usr/local/${PACKAGE}" +DIR_GOGS="${INSTALL_DIR}/gogs" +GOGS="${DIR_GOGS}/gogs" +PID_FILE="/var/run/gogs.pid" +LOG_FILE="/var/log/gogs.log" + +FILE_CREATE_LOG="${DIR_GOGS}/wizard_create_log" + +export HOME=${DIR_GOGS} +#export PATH=$PATH:~/opt/bin # to Git. Not necessary with Git Server (Synology) +export USER=root +export USERNAME=root + +start_daemon () +{ + if [ -e ${FILE_CREATE_LOG} ]; then + ${GOGS} web > ${LOG_FILE} 2>&1 & + else + ${GOGS} web > /dev/null 2>&1 & + fi + echo $! > ${PID_FILE} +} + +stop_daemon () +{ + kill `cat ${PID_FILE}` + wait_for_status 1 20 || kill -9 `cat ${PID_FILE}` + rm -f ${PID_FILE} +} + +daemon_status () +{ + if [ -f ${PID_FILE} ] && kill -0 `cat ${PID_FILE}` > /dev/null 2>&1; then + return + fi + rm -f ${PID_FILE} + return 1 +} + +wait_for_status () +{ + counter=$2 + while [ ${counter} -gt 0 ]; do + daemon_status + [ $? -eq $1 ] && return + let counter=counter-1 + sleep 1 + done + return 1 +} + + +case $1 in + start) + if daemon_status; then + echo ${DNAME} is already running + else + echo Starting ${DNAME} ... + start_daemon + fi + ;; + stop) + if daemon_status; then + echo Stopping ${DNAME} ... + stop_daemon + else + echo ${DNAME} is not running + fi + ;; + restart) + stop_daemon + start_daemon + ;; + status) + if daemon_status; then + echo ${DNAME} is running + exit 0 + else + echo ${DNAME} is not running + exit 1 + fi + ;; + log) + echo ${LOG_FILE} + ;; + *) + exit 1 + ;; +esac diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3057ac9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Alexandre Espinosa Menor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..e012fc4 --- /dev/null +++ b/README.md @@ -0,0 +1,47 @@ +# gogs-spk + +[Gogs](https://gogs.io) (Go Git Service) SPK package ([Synology PacKages](https://www.synology.com/en-us/dsm/app_packages)) + +Install Gogs into a Synology NAS. + +## Requirements + +this package, to see Gogs requirements check https://gogs.io + +* armv7 (Tested only with DS213j, Marvell Armada 370) +* MariaDB +* Git Server + +## Usage + +Change **Package Center -> Trust Level** to **Any Publisher** and import manually the package from **Manual install**. +Finally, install with Gogs web installation. + +## To use with another arch + +Download the binary from https://gogs.io/docs/installation/install_from_binary, replace the content from **1_create_package/gogs** directory and exec create_spk.sh: + +```alex@vostok:/Volumes/HD/Development/synology/gogs-spk(master)$ rm -rf 1_create_package/gogs/ && tar zxvf gogs_v0.9.13_linux_386.tar.gz -C 1_create_package/``` + +```$ sh create_spk.sh``` + + +## Screenshots + +![Install](screenshots/install2.png) + +![Install](screenshots/install.png) + +![Stopping](screenshots/stopping.png) + +![Desktop icon](screenshots/icon.png) + + +Gogs screenshots +https://github.com/gogits/gogs + + +## ToDo + +- Don't force to use Git Server and MariaDB (PostgreSQL? Gogs ARM version haven't Sqlite/TiDB) +- Support to archs (and DBs) diff --git a/create_spk.sh b/create_spk.sh new file mode 100644 index 0000000..fab7773 --- /dev/null +++ b/create_spk.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +cd 1_create_package +tar cvfz package.tgz * +mv package.tgz ../2_create_project/ +cd ../2_create_project/ +tar cvfz gogs.spk * +mv gogs.spk .. +rm -f package.tgz diff --git a/screenshots/dashboard.png b/screenshots/dashboard.png new file mode 100644 index 0000000..5492ac6 Binary files /dev/null and b/screenshots/dashboard.png differ diff --git a/screenshots/icon.png b/screenshots/icon.png new file mode 100644 index 0000000..d07be7a Binary files /dev/null and b/screenshots/icon.png differ diff --git a/screenshots/install.png b/screenshots/install.png new file mode 100644 index 0000000..ad9514c Binary files /dev/null and b/screenshots/install.png differ diff --git a/screenshots/install2.png b/screenshots/install2.png new file mode 100644 index 0000000..1e2c118 Binary files /dev/null and b/screenshots/install2.png differ diff --git a/screenshots/started.png b/screenshots/started.png new file mode 100644 index 0000000..ac5d6d0 Binary files /dev/null and b/screenshots/started.png differ diff --git a/screenshots/stopping.png b/screenshots/stopping.png new file mode 100644 index 0000000..9a32106 Binary files /dev/null and b/screenshots/stopping.png differ