Skip to content

Commit

Permalink
Added Makefile to simplify packaging
Browse files Browse the repository at this point in the history
includes LICENSE mjun#6
  • Loading branch information
kuthulux committed Apr 28, 2020
1 parent c6641c3 commit a35af98
Show file tree
Hide file tree
Showing 6 changed files with 197 additions and 4 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
__pycache__
*.deb
*.rpm
19 changes: 19 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
This is gnome-connection-manager, written and maintained by
Renzo Bertuzzi L. <[email protected]>
Project's Homepage: http://kuthulu.com/gcm or https://github.com/kuthulux/gnome-connection-manager

Copyright © 2020 Renzo Bertuzzi L. <[email protected]>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 3, as
published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License with
the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL-3;
if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
71 changes: 71 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
PKG_NAME=gnome-connection-manager
PKG_DESCRIPTION="Simple tabbed ssh and telnet connection manager for GTK+ environments\nMore info in http://kuthulu.com/gcm"
PKG_VERSION=1.2.0
PKG_MAINTAINER="Renzo Bertuzzi <[email protected]>"
PKG_VENDOR=kuthulu.com
PKG_URL=http://kuthulu.com/gcm
PKG_ARCH=all
PKG_ARCH_RPM=noarch
PKG_DEB=${PKG_NAME}_${PKG_VERSION}_${PKG_ARCH}.deb
PKG_RPM=${PKG_NAME}-${PKG_VERSION}.${PKG_ARCH_RPM}.rpm
FPM_OPTS=-s dir -n $(PKG_NAME) -v $(PKG_VERSION) -C $(TMPINSTALLDIR) --maintainer ${PKG_MAINTAINER} --description "$$(printf ${PKG_DESCRIPTION})" -a $(PKG_ARCH) --license GPLv3 --vendor ${PKG_VENDOR} --category net --url ${PKG_URL}
TMPINSTALLDIR=/tmp/$(PKG_NAME)-fpm-install

all : deb rpm
.PHONY : all

#install all files in a temp directory
install: translate
mkdir -p $(DESTDIR)/usr/share/$(PKG_NAME)
mkdir -p $(DESTDIR)/usr/share/applications
mkdir -p $(DESTDIR)/usr/share/doc/$(PKG_NAME)
echo "${PKG_NAME} (${PKG_VERSION}.${PKG_RELEASE}) all; urgency=low" > $(DESTDIR)/usr/share/doc/$(PKG_NAME)/changelog
git log --no-merges --format="* %s" >> $(DESTDIR)/usr/share/doc/$(PKG_NAME)/changelog
gzip -9 $(DESTDIR)/usr/share/doc/$(PKG_NAME)/changelog
cp gnome-connection-manager.desktop $(DESTDIR)/usr/share/applications
cp LICENSE $(DESTDIR)/usr/share/doc/$(PKG_NAME)/copyright
cp -r lang donate.gif gnome_connection_manager.py gnome-connection-manager.glade icon.png pyAES.py SimpleGladeApp.py ssh.expect $(DESTDIR)/usr/share/gnome-connection-manager/

#compile translation files
translate:
msgfmt lang/de_DE.po -o lang/de/LC_MESSAGES/gcm-lang.mo
msgfmt lang/en_US.po -o lang/en/LC_MESSAGES/gcm-lang.mo
msgfmt lang/fr_FR.po -o lang/fr/LC_MESSAGES/gcm-lang.mo
msgfmt lang/it_IT.po -o lang/it/LC_MESSAGES/gcm-lang.mo
msgfmt lang/ko_KO.po -o lang/ko/LC_MESSAGES/gcm-lang.mo
msgfmt lang/pl_PL.po -o lang/pl/LC_MESSAGES/gcm-lang.mo
msgfmt lang/pt_BR.po -o lang/pt/LC_MESSAGES/gcm-lang.mo
msgfmt lang/ru_RU.po -o lang/ru/LC_MESSAGES/gcm-lang.mo

# Generate a deb package using fpm
deb:
rm -rf $(TMPINSTALLDIR)
rm -f $(PKG_DEB)
chmod -R g-w *
make install DESTDIR=$(TMPINSTALLDIR)

fpm -t deb -p $(PKG_DEB) $(FPM_OPTS) \
-d python3 \
-d python3-gi \
-d expect \
--after-install postinst \
--deb-priority optional \
usr
@echo "\033[92mOK: $(PKG_DEB)\033[0m"

# Generate a rpm package using fpm
rpm:
rm -rf $(TMPINSTALLDIR)
rm -f $(PKG_RPM)
chmod -R g-w *
make install DESTDIR=$(TMPINSTALLDIR)

fpm -t rpm -p $(PKG_RPM) $(FPM_OPTS) \
-d python3 \
-d python3-gobject \
-d expect \
--after-install postinst \
usr
@echo "\033[92mOK: $(PKG_RPM)\033[0m"


91 changes: 87 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,88 @@
# gnome-connection-manager
repository for gnome-connection-manager from kuthulu.com/gcm
# Gnome Connection Manager or GCM

Gnome Connection Manager or GCM is a tabbed ssh connection manager for gtk+ environments.
Starting with version 1.2.0 it supports python3 and GTK 3 so it should run fine on any modern desktop environment.

Work in Progress to port gcm to python3 and gtk3
right now is working fine in ubuntu 20.04

## Installation

### From binary package
The easiest way to install GCM is to download the deb or rpm package from [releases](https://github.com/kuthulux/gnome-connection-manager/releases) or from [kuthulu.com](http://kuthulu.com/gcm/download.html) and install it using the package manager

#### Debian/Ubuntu
`sudo dpkg -i gnome-connection-manager_1.2.0_all.deb`

#### Fedora/Redhat
`sudo yum install gnome-connection-manager-1.2.0.noarch.rpm`



### From Sources
Download or clone the repository and execute the file `gnome_connection_manager.py`


```
git clone git://github.com/kuthulux/gnome-connection-manager
cd gnome-connection-manager
./gnome_connection_manager.py
```

#### Dependencies:
* expect
* python3
* python3-gi (debian) / python3-gobject (fedora)

---

## Language
GCM should use the default OS language, but if for any reason you want to use another language, then start GCM this way:

```bash
LANG=en_US.UTF.8 ./gnome_connection_manager.py
```
replace en_US.UTF-8 with the language of your choice.

---

## Packaging

To create a deb or rpm package from source you have to follow these steps:

1. install basic tools

Debian/Ubuntu
```
sudo apt install git ruby ruby-dev build-essential gettext
sudo gem install fpm
```
Fedora/Redhat
```bash
sudo yum install git ruby ruby-devel make gcc gcc-c++ redhat-rpm-config getext rpm-build
sudo gem install fpm
```

2. download or clone the respository

```bash
git clone git://github.com/kuthulux/gnome-connection-manager
cd gnome-connection-manager
```

3. make the desired package:
```bash
#make deb and rpm
make

#make deb package only
make deb

#make rpm package only
make rpm
```

## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.


## License
[GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)
12 changes: 12 additions & 0 deletions gnome-connection-manager.desktop
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Gnome Connection Manager
Comment=A simple ssh connection manager for gnome
GenericName=Connection Manager
Exec=/usr/share/gnome-connection-manager/gnome_connection_manager.py
Terminal=false
Type=Application
Icon=/usr/share/gnome-connection-manager/icon.png
Categories=GTK;GNOME;Network;
Name[en]=Gnome Connection Manager
6 changes: 6 additions & 0 deletions postinst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash

set -e

sudo xdg-desktop-menu install /usr/share/applications/gnome-connection-manager.desktop

0 comments on commit a35af98

Please sign in to comment.