Merge branch 'master' of https://github.com/glenux/qasim
This commit is contained in:
commit
20e45bb730
7 changed files with 60 additions and 35 deletions
24
Makefile
24
Makefile
|
@ -3,8 +3,8 @@ NAME=qasim
|
||||||
CONFDIR=$(DESTDIR)/etc
|
CONFDIR=$(DESTDIR)/etc
|
||||||
BINDIR=$(DESTDIR)/usr/bin
|
BINDIR=$(DESTDIR)/usr/bin
|
||||||
MANDIR=$(DESTDIR)/usr/share/man
|
MANDIR=$(DESTDIR)/usr/share/man
|
||||||
DOCDIR=$(DESTDIR)/usr/share/doc/$(NAME)
|
DOCDIR=$(DESTDIR)/usr/share/doc
|
||||||
SHAREDIR=$(DESTDIR)/usr/share/$(NAME)
|
SHAREDIR=$(DESTDIR)/usr/share
|
||||||
|
|
||||||
RUBYVERSION=1.8
|
RUBYVERSION=1.8
|
||||||
RDOC=rdoc$(RUBYVERSION)
|
RDOC=rdoc$(RUBYVERSION)
|
||||||
|
@ -32,9 +32,9 @@ build-doc:
|
||||||
|
|
||||||
install-doc:
|
install-doc:
|
||||||
# # install documentation
|
# # install documentation
|
||||||
rm -fr $(DOCDIR)
|
rm -fr $(DOCDIR)/$(NAME)
|
||||||
mkdir -p $(DOCDIR)
|
mkdir -p $(DOCDIR)/$(NAME)
|
||||||
cp -a doc $(DOCDIR)
|
cp -a doc $(DOCDIR)/$(NAME)
|
||||||
|
|
||||||
|
|
||||||
install: install-bin install-lib install-data
|
install: install-bin install-lib install-data
|
||||||
|
@ -50,7 +50,7 @@ install-bin:
|
||||||
|
|
||||||
install-lib:
|
install-lib:
|
||||||
for libfile in $(NAME)/*.rb ; do \
|
for libfile in $(NAME)/*.rb ; do \
|
||||||
install -D -o root -g root -m 644 $$libfile $(SHAREDIR)/$$libfile; \
|
install -D -o root -g root -m 644 $$libfile $(SHAREDIR)/$(NAME)/$$libfile; \
|
||||||
done
|
done
|
||||||
|
|
||||||
install-data:
|
install-data:
|
||||||
|
@ -59,17 +59,19 @@ install-data:
|
||||||
# cat $(NAME).1 | gzip > $(MANDIR)/man1/$(NAME).1.gz
|
# cat $(NAME).1 | gzip > $(MANDIR)/man1/$(NAME).1.gz
|
||||||
#
|
#
|
||||||
## Install icons
|
## Install icons
|
||||||
mkdir -p $(SHAREDIR)/icons
|
mkdir -p $(SHAREDIR)/$(NAME)/icons
|
||||||
install -D -o root -g root -m 644 $(CURDIR)/icons/$(NAME).svg \
|
install -D -o root -g root -m 644 $(CURDIR)/icons/$(NAME).svg \
|
||||||
$(SHAREDIR)/icons/$(NAME).svg
|
$(SHAREDIR)/$(NAME)/icons/$(NAME).svg
|
||||||
#
|
#
|
||||||
## Install completion file
|
## Install completion file
|
||||||
# install -D -o root -g root -m 644 $(CURDIR)/$(NAME).completion $(DESTDIR)/etc/bash_completion.d/$(NAME)
|
# install -D -o root -g root -m 644 $(CURDIR)/$(NAME).completion $(DESTDIR)/etc/bash_completion.d/$(NAME)
|
||||||
#
|
#
|
||||||
## Install configuration files
|
## Install configuration files
|
||||||
mkdir -p $(CONFDIR)/xdg/autostart
|
mkdir -p $(CONFDIR)/xdg/autostart
|
||||||
install -D -o root -g root -m 644 $(CURDIR)/conf/autostart/$(NAME).desktop \
|
install -D -o root -g root -m 644 $(CURDIR)/conf/$(NAME).desktop \
|
||||||
$(CONFDIR)/xdg/autostart/$(NAME).desktop
|
$(CONFDIR)/xdg/autostart/$(NAME).desktop
|
||||||
|
install -D -o root -g root -m 644 $(CURDIR)/conf/$(NAME).desktop \
|
||||||
|
$(SHAREDIR)/applications/$(NAME).desktop
|
||||||
mkdir -p $(CONFDIR)/$(NAME)
|
mkdir -p $(CONFDIR)/$(NAME)
|
||||||
install -D -o root -g root -m 644 $(CURDIR)/conf/config \
|
install -D -o root -g root -m 644 $(CURDIR)/conf/config \
|
||||||
$(CONFDIR)/$(NAME)/config
|
$(CONFDIR)/$(NAME)/config
|
||||||
|
@ -77,9 +79,9 @@ install-data:
|
||||||
$(CONFDIR)/$(NAME)/default.map
|
$(CONFDIR)/$(NAME)/default.map
|
||||||
#
|
#
|
||||||
# Install examples
|
# Install examples
|
||||||
mkdir -p $(DOCDIR)/examples
|
mkdir -p $(DOCDIR)/$(NAME)/examples
|
||||||
for f in `ls examples`; do \
|
for f in `ls examples`; do \
|
||||||
cat examples/$$f | gzip -f9 > $(DOCDIR)/examples/$$f.gz ; \
|
cat examples/$$f | gzip -f9 > $(DOCDIR)/$(NAME)/examples/$$f.gz ; \
|
||||||
done
|
done
|
||||||
|
|
||||||
.PHONY: destdir
|
.PHONY: destdir
|
||||||
|
|
|
@ -8,6 +8,7 @@ Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
Icon=printer
|
Icon=printer
|
||||||
NotShowIn=
|
NotShowIn=
|
||||||
StartupNotify=false
|
|
||||||
X-Desktop-File-Install-Version=0.15
|
X-Desktop-File-Install-Version=0.15
|
||||||
Categories=KDE;GTK;Monitor;System;
|
Categories=KDE;GTK;Monitor;System;
|
||||||
|
StartupNotify=true
|
||||||
|
Categories=KDE;Qt;Network;System;Utility;
|
30
debian/changelog
vendored
30
debian/changelog
vendored
|
@ -1,3 +1,33 @@
|
||||||
|
qasim (0.1.5) unstable; urgency=low
|
||||||
|
|
||||||
|
* map: Added missing require for fileutils.
|
||||||
|
|
||||||
|
-- Glenn ROLLAND <glenux@fr.st> Tue, 09 Aug 2011 22:46:33 +0200
|
||||||
|
|
||||||
|
qasim (0.1.4) unstable; urgency=low
|
||||||
|
|
||||||
|
* Fixed localpath bug.
|
||||||
|
|
||||||
|
-- Glenn ROLLAND <glenux@fr.st> Tue, 09 Aug 2011 22:35:10 +0200
|
||||||
|
|
||||||
|
qasim (0.1.3) unstable; urgency=low
|
||||||
|
|
||||||
|
* Create mountpoint if non-existant.
|
||||||
|
|
||||||
|
-- Glenn Y. Rolland <glenux@glenux.net> Sun, 07 Aug 2011 17:43:56 +0200
|
||||||
|
|
||||||
|
qasim (0.1.2) unstable; urgency=low
|
||||||
|
|
||||||
|
* Disabled rdebug & added another missing dependency.
|
||||||
|
|
||||||
|
-- Glenn Y. Rolland <glenux@glenux.net> Sun, 07 Aug 2011 17:06:15 +0200
|
||||||
|
|
||||||
|
qasim (0.1.1) unstable; urgency=low
|
||||||
|
|
||||||
|
* Added missing dependencies (libqt4-ruby & ruby)
|
||||||
|
|
||||||
|
-- Glenn Y. Rolland <glenux@glenux.net> Sun, 07 Aug 2011 16:53:20 +0200
|
||||||
|
|
||||||
qasim (0.1) unstable; urgency=low
|
qasim (0.1) unstable; urgency=low
|
||||||
|
|
||||||
* Initial version.
|
* Initial version.
|
||||||
|
|
2
debian/control
vendored
2
debian/control
vendored
|
@ -7,7 +7,7 @@ Standards-Version: 3.7.2
|
||||||
|
|
||||||
Package: qasim
|
Package: qasim
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, sshfs (>= 1.7)
|
Depends: ${shlibs:Depends}, ${misc:Depends}, sshfs (>= 1.7), ruby, libqt4-ruby, rubygems
|
||||||
Description: Easy mount solution for SSH filesystems.
|
Description: Easy mount solution for SSH filesystems.
|
||||||
Qasim is a front-end for sshfs, the filesystem client based on fuse
|
Qasim is a front-end for sshfs, the filesystem client based on fuse
|
||||||
and ssh. It provides automating and global settings control for sshfs mounts.
|
and ssh. It provides automating and global settings control for sshfs mounts.
|
||||||
|
|
|
@ -7,7 +7,7 @@ require 'pp'
|
||||||
require 'find'
|
require 'find'
|
||||||
|
|
||||||
require 'rubygems'
|
require 'rubygems'
|
||||||
require 'rdebug/base'
|
#require 'rdebug/base'
|
||||||
require 'qasim/constants'
|
require 'qasim/constants'
|
||||||
require 'qasim/map'
|
require 'qasim/map'
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ module Qasim
|
||||||
end
|
end
|
||||||
|
|
||||||
def parse_maps &blk
|
def parse_maps &blk
|
||||||
rdebug "Config: #{@config_dir}/config"
|
#rdebug "Config: #{@config_dir}/config"
|
||||||
|
|
||||||
@maps = []
|
@maps = []
|
||||||
Find.find( @config_dir, APP_SYSCONFIG_DIR ) do |path|
|
Find.find( @config_dir, APP_SYSCONFIG_DIR ) do |path|
|
||||||
|
|
22
qasim/map.rb
22
qasim/map.rb
|
@ -1,6 +1,7 @@
|
||||||
|
|
||||||
|
require 'fileutils'
|
||||||
require 'rubygems'
|
require 'rubygems'
|
||||||
require 'rdebug/base'
|
#require 'rdebug/base'
|
||||||
require 'qasim/config'
|
require 'qasim/config'
|
||||||
|
|
||||||
module Qasim
|
module Qasim
|
||||||
|
@ -38,7 +39,7 @@ module Qasim
|
||||||
|
|
||||||
def load path=nil
|
def load path=nil
|
||||||
@path=path unless path.nil?
|
@path=path unless path.nil?
|
||||||
rdebug "Parsing map #{@path}"
|
#rdebug "Parsing map #{@path}"
|
||||||
f = File.open @path
|
f = File.open @path
|
||||||
linect = 0
|
linect = 0
|
||||||
local_env = ENV.clone
|
local_env = ENV.clone
|
||||||
|
@ -64,22 +65,22 @@ module Qasim
|
||||||
case line
|
case line
|
||||||
when /^\s*REMOTE_USER\s*=\s*(.*)\s*$/ then
|
when /^\s*REMOTE_USER\s*=\s*(.*)\s*$/ then
|
||||||
@user = $1
|
@user = $1
|
||||||
rdebug "d: remote_user => #{$1}"
|
#rdebug "d: remote_user => #{$1}"
|
||||||
when /^\s*REMOTE_PORT\s*=\s*(.*)\s*$/ then
|
when /^\s*REMOTE_PORT\s*=\s*(.*)\s*$/ then
|
||||||
@port = $1.to_i
|
@port = $1.to_i
|
||||||
rdebug "d: remote_port => #{$1}"
|
#rdebug "d: remote_port => #{$1}"
|
||||||
when /^\s*REMOTE_HOST\s*=\s*(.*)\s*$/ then
|
when /^\s*REMOTE_HOST\s*=\s*(.*)\s*$/ then
|
||||||
@host = $1
|
@host = $1
|
||||||
rdebug "d: remote_host => #{$1}"
|
#rdebug "d: remote_host => #{$1}"
|
||||||
when /^\s*REMOTE_CYPHER\s*=\s*(.*)\s*$/ then
|
when /^\s*REMOTE_CYPHER\s*=\s*(.*)\s*$/ then
|
||||||
if CYPHERS.map{|x| x.to_s}.include? $1 then
|
if CYPHERS.map{|x| x.to_s}.include? $1 then
|
||||||
@host = $1.to_sym
|
@host = $1.to_sym
|
||||||
end
|
end
|
||||||
when /^\s*MAP\s*=\s*(.*)\s+(.*)\s*$/ then
|
when /^\s*MAP\s*=\s*(.*)\s+(.*)\s*$/ then
|
||||||
@links[$1] = $2
|
@links[$1] = $2
|
||||||
rdebug "d: link #{$1} => #{$2}"
|
#rdebug "d: link #{$1} => #{$2}"
|
||||||
when /^\s*$/,/^\s*#/ then
|
when /^\s*$/,/^\s*#/ then
|
||||||
rdebug "d: dropping empty line"
|
#rdebug "d: dropping empty line"
|
||||||
else
|
else
|
||||||
raise MapParseError, "parse error at #{@path}:#{linect}"
|
raise MapParseError, "parse error at #{@path}:#{linect}"
|
||||||
end
|
end
|
||||||
|
@ -99,7 +100,7 @@ module Qasim
|
||||||
end
|
end
|
||||||
|
|
||||||
def online?
|
def online?
|
||||||
rdebug "testing online? %s " % self.inspect
|
#rdebug "testing online? %s " % self.inspect
|
||||||
#FIXME: test liveness
|
#FIXME: test liveness
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -144,6 +145,7 @@ module Qasim
|
||||||
# FIXME: test connexion with Net::SSH + timeout or ask password
|
# FIXME: test connexion with Net::SSH + timeout or ask password
|
||||||
@links.each do |name, remotepath|
|
@links.each do |name, remotepath|
|
||||||
localpath = File.join ENV['HOME'], "mnt", name
|
localpath = File.join ENV['HOME'], "mnt", name
|
||||||
|
FileUtils.mkdir_p localpath
|
||||||
cmd = "sshfs"
|
cmd = "sshfs"
|
||||||
cmd_args = [
|
cmd_args = [
|
||||||
"-o","allow_root" ,
|
"-o","allow_root" ,
|
||||||
|
@ -159,7 +161,7 @@ module Qasim
|
||||||
"-o","Port=%s" % @port,
|
"-o","Port=%s" % @port,
|
||||||
"%s@%s:%s" % [@user,@host,remotepath],
|
"%s@%s:%s" % [@user,@host,remotepath],
|
||||||
localpath ]
|
localpath ]
|
||||||
rdebug "command: %s" % [ cmd, cmd_args ].flatten.join(' ')
|
#rdebug "command: %s" % [ cmd, cmd_args ].flatten.join(' ')
|
||||||
if block_given? then
|
if block_given? then
|
||||||
yield name, cmd, cmd_args
|
yield name, cmd, cmd_args
|
||||||
else
|
else
|
||||||
|
@ -180,7 +182,7 @@ module Qasim
|
||||||
"-u", #umount
|
"-u", #umount
|
||||||
"-z" ,#lazy
|
"-z" ,#lazy
|
||||||
localpath ]
|
localpath ]
|
||||||
rdebug "command: %s" % [ cmd, cmd_args ].flatten.join(' ')
|
#rdebug "command: %s" % [ cmd, cmd_args ].flatten.join(' ')
|
||||||
if block_given? then
|
if block_given? then
|
||||||
yield name, cmd, cmd_args
|
yield name, cmd, cmd_args
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
[Desktop Entry]
|
|
||||||
Type=Application
|
|
||||||
Encoding=UTF-8
|
|
||||||
Version=1.0
|
|
||||||
Name=SSHFS Mapper
|
|
||||||
Name[fr_FR@euro]=SSHFS Mapper
|
|
||||||
Comment=Access to remote SSH shares
|
|
||||||
Comment[fr_FR@euro]=Accès aux partages SSH distants
|
|
||||||
Exec=sshfs-mapper
|
|
||||||
X-GNOME-Autostart-enabled=true
|
|
Loading…
Reference in a new issue