Commit 0b41c4b3 authored by Philip Van Hoof's avatar Philip Van Hoof

Initial revision

parents
Gaute Hope <eg at gaute dot eu dot org>
Philip Van Hoof <me at freax dot org>
############################################################################
# Copyright (C) 2004 by Gaute Hope #
# eg@gaute.eu.org #
# #
# This program is free software; you can redistribute it and#or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation; either version 2 of the License, or #
# (at your option) any later version. #
# #
# 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 #
# along with this program; if not, write to the #
# Free Software Foundation, Inc., #
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #
############################################################################
2004-06-06 Philip Van Hoof <me at freax dot org>
* Recreated the project from scratch using Gaute's sourcecode
* Redesign of the GUI
* Uses popen to read the crontab (not a temporary file)
2004-06-06 Gaute Hope <eg at gaute dot eu dot org>
* started the at support development.
* reading current jobs
* lists them in both simple and advanced mode
* new tab for the GUI
* possible to add and remove and view at jobs
* changed name to system scheduler.. doesn't like it though.
* now deletes temporary files
2004-06-04 Gaute Hope <eg at gaute dot eu dot org>
* Removed most of the debugging messages i used before.
2004-06-03 Gaute Hope <eg at gaute dot eu dot org>
* used the environment provided by Philip Van Hoof, modified the makefile a bit(changed project directory) and the claen now cleans the *~ files in the src/ dir aswell
* you may change to advanced mode at the settings menu, simple is default
* created the simple model
* created the update function, and some simple parse function
* changed the name to Crontab manager
* created the simple add form
* added a viewport and a slide pane and hides the cronjob_edit frame when simple mode is selected.
* made simple add work
* made simple remove work, should be sufficient for editing for now. If you want to do that you should switch to advanced mode.
2004-06-01 Gaute Hope <eg at gaute dot eu dot org>
* Fixed the user selecting with commandline argument, it now only works if the UID = 0
* Bug: Made it work with other users than root :)
2004-05-31 Gaute Hope <eg at gaute dot eu dot org>
* Added support for editing crontab for other users. It now checks for the first arguement uses it for the username. Otherwise it users the USER environment variable.
* Made it possible to just write out the crontab file without installing it, so that it can be installed on another machine(ie: a server without X)
* Fixed some version numbers.
* realized you had to be root to use the 'crontab -u' command, so now it only works if you are modifying root's crontab.. i tend to fix it to use the environment variable to check for user id or something.
2004-05-30 Gaute Hope <eg at gaute dot eu dot org>
* Made it interfere with crontab using the crontab command to list and write crontabs
* New add dialog with features for customizing the execution time expressions
* About dialog
* Hints dialog for the add dialog
2004-05-28 Gaute Hope <eg at gaute dot eu dot org>
* Created the main GUI.
* Created the add and remove functions
#License: GPL
#Copyright Red Hat Inc. Jan 2001
VERSION=$(shell awk '/Version:/ { print $$2 }' gnome-schedule.spec)
CVSTAG=r$(subst .,-,$(VERSION))
SUBDIRS=po
PREFIX=/usr
DATADIR=${PREFIX}/share
MANDIR=${DATADIR}/man
PKGNAME = gnome-schedule
PKGDATADIR=${DATADIR}/${PKGNAME}
PKGIMAGEDIR=${PKGDATADIR}/pixmaps
PAMD_DIR = /etc/pam.d
SECURITY_DIR =/etc/security/console.apps
default: subdirs
subdirs:
for d in $(SUBDIRS); do make -C $$d; [ $$? = 0 ] || exit 1; done
install:
mkdir -p $(INSTROOT)/usr/bin
mkdir -p $(INSTROOT)$(PKGDATADIR)
mkdir -p $(INSTROOT)$(PKGIMAGEDIR)
mkdir -p $(INSTROOT)$(PAMD_DIR)
mkdir -p $(INSTROOT)$(SECURITY_DIR)
mkdir -p $(INSTROOT)/usr/share/pixmaps
mkdir -p $(INSTROOT)/usr/share/applications
mkdir -p $(INSTROOT)/usr/share/icons/hicolor/48x48/apps
install src/*.py $(INSTROOT)$(PKGDATADIR)
for py in src/*.py ; do \
sed -e s,@VERSION@,$(VERSION),g $${py} > $(INSTROOT)$(PKGDATADIR)/`basename $${py}` ; \
done
install src/*.glade $(INSTROOT)$(PKGDATADIR)
install $(PKGNAME).pam $(INSTROOT)$(PAMD_DIR)/$(PKGNAME)
install $(PKGNAME).console $(INSTROOT)$(SECURITY_DIR)/$(PKGNAME)
install pixmaps/*.png $(INSTROOT)$(PKGIMAGEDIR)
install pixmaps/${PKGNAME}.png $(INSTROOT)/usr/share/icons/hicolor/48x48/apps
install ${PKGNAME}.desktop $(INSTROOT)/usr/share/applications/${PKGNAME}.desktop
ln -sf consolehelper $(INSTROOT)/usr/bin/$(PKGNAME)
for d in $(SUBDIRS); do \
(cd $$d; $(MAKE) INSTROOT=$(INSTROOT) MANDIR=$(MANDIR) install) \
|| case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
archive:
cvs tag -cFR $(CVSTAG) .
@rm -rf /tmp/${PKGNAME}-$(VERSION) /tmp/${PKGNAME}
@CVSROOT=`cat CVS/Root`; cd /tmp; cvs -d $$CVSROOT export -r$(CVSTAG) ${PKGNAME}
@mv /tmp/${PKGNAME} /tmp/${PKGNAME}-$(VERSION)
@dir=$$PWD; cd /tmp; tar --bzip2 -cSpf $$dir/${PKGNAME}-$(VERSION).tar.bz2 ${PKGNAME}-$(VERSION)
@rm -rf /tmp/${PKGNAME}-$(VERSION)
@echo "The archive is in ${PKGNAME}-$(VERSION).tar.bz2"
snapsrc: archive
@rpmbuild -ta $(PKGNAME)-$(VERSION).tar.bz2
local:
@rm -rf ${PKGNAME}-$(VERSION).tar.bz2
@rm -rf /tmp/${PKGNAME}-$(VERSION) /tmp/${PKGNAME}
@cd /tmp; cp -a ~/fedora/${PKGNAME} ${PKGNAME}
@mv /tmp/${PKGNAME} /tmp/${PKGNAME}-$(VERSION)
@dir=$$PWD; cd /tmp; tar --bzip2 -cSpf $$dir/${PKGNAME}-$(VERSION).tar.bz2 ${PKGNAME}-$(VERSION)
@rm -rf /tmp/${PKGNAME}-$(VERSION)
@echo "The archive is in ${PKGNAME}-$(VERSION).tar.bz2"
clean:
@rm -fv *~
@rm -fv *.pyc
@rm -fv src/*~
############################
# gnome-schedule #
# (C) Gaute Hope, 2004 #
# http://gaute.eu.org #
# eg@gaute.eu.org #
############################
See the file COPYING for license.
Introducion:
(Not that is going to be anything more than an introduction)
This is the first python or gtk application i write, have only known it for three days.
So bear with me.
Installation:
run as root:
# make install
It should work with most crontabs since it doesn't edit the crontab itself but creates a file and runs 'crontab' with the file as an argument. To get the current crontab it reads 'crontab -l' into a file and reads the file line for line.
At configuration works pretty much the same way.
All the temporary files is located in /tmp and is deleted afterwards.
Help on features:
Writing out crontab. This writes out the crontab to the file /tmp/crontab
It is meant to be used in case the crontab is to be installed on another machine and you want to configure it with this tool
Download:
You can, for now, get the latest version at: http://gaute.eu.org/stasj/cronconf/
---
31.05.2004, 01:07
USER=root
PROGRAM=/usr/share/gnome-schedule/gnome-schedule.py
SESSION=true
FALLBACK=true
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Schedule
Categories=Application;System;
Icon=gnome-schedule.png
Exec=/usr/bin/gnome-schedule
Type=Application
StartupNotify=true
Terminal=false
Name[nn_NO]=Schedule
#%PAM-1.0
auth sufficient pam_rootok.so
auth sufficient pam_timestamp.so
auth required pam_stack.so service=system-auth
session required pam_permit.so
session optional pam_xauth.so
session optional pam_timestamp.so
account required pam_permit.so
Summary: Crontab server and at configuration tool
Name: gnome-schedule
Version: 0.7.0_Beta
Release: 1
URL: http://gaute.eu.org/stasj/cronconf
License: GPL
ExclusiveOS: Linux
Group: System Environment/Base
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildArch: noarch
Source0: %{name}-%{version}.tar.bz2
BuildRequires: desktop-file-utils
BuildRequires: gettext
Obsoletes: redhat-config-schedule
Requires: pygtk2
Requires: pygtk2-libglade
Requires: python
Requires: usermode >= 1.36
Requires: crontab
Requires: libuser
Requires: htmlview
%description
gnome-schedule is a graphical user interface for creating,
modifying, and deleting crontab and at records.
%prep
%setup -q
%build
make
%install
make INSTROOT=$RPM_BUILD_ROOT install
desktop-file-install --vendor system --delete-original \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
--add-category X-Red-Hat-Base \
--add-category X-Red-Hat-ServerConfig \
$RPM_BUILD_ROOT%{_datadir}/applications/gnome-schedule.desktop
%find_lang %name
%clean
rm -rf $RPM_BUILD_ROOT
%preun
if [ -d /usr/share/gnome-schedule ] ; then
rm -rf /usr/share/gnome-schedule/*.pyc
fi
%files -f %{name}.lang
%defattr(-,root,root)
#%doc COPYING
%doc doc/*
/usr/bin/gnome-schedule
%dir /usr/share/gnome-schedule
/usr/share/gnome-schedule/*
%attr(0644,root,root) %{_datadir}/applications/gnome-schedule.desktop
%attr(0644,root,root) %{_datadir}/icons/hicolor/48x48/apps/gnome-schedule.png
%attr(0644,root,root) %config /etc/security/console.apps/gnome-schedule
%attr(0644,root,root) %config /etc/pam.d/gnome-schedule
%changelog
* Tue Jun 1 2004 Philip Van Hoof <spam at freax dot org>
- packaging
* Tue Jun 1 2004 Gaute Hope <eg at gaute dot eu dot org>
- Initial coding
#
# Makefile for the PO files (translation) catalog
#
# $Id$
TOP = ../..
# What is this package?
NLSPACKAGE = gnome-schedule
POTFILE = $(NLSPACKAGE).pot
INSTALL = /usr/bin/install -c
INSTALL_DATA = $(INSTALL) -m 644
INSTALL_DIR = /usr/bin/install -d
# destination directory
INSTALL_NLS_DIR = $(RPM_BUILD_ROOT)/usr/share/locale
# PO catalog handling
MSGMERGE = msgmerge -v
XGETTEXT = xgettext --default-domain=$(NLSPACKAGE) \
--add-comments
MSGFMT = msgfmt --statistics --verbose
# What do we need to do
POFILES = $(wildcard *.po)
MOFILES = $(patsubst %.po,%.mo,$(POFILES))
PYSRC = $(wildcard ../src/*.py)
SRCFILES = $(PYSRC) gnome-schedule.gladestrings
#default:: clean
all:: update-po $(MOFILES)
$(POTFILE): $(SRCFILES)
$(XGETTEXT) --keyword=_ --keyword=N_ $(SRCFILES)
@if cmp -s $(NLSPACKAGE).po $(POTFILE); then \
rm -f $(NLSPACKAGE).po; \
else \
mv -f $(NLSPACKAGE).po $(POTFILE); \
fi; \
update-po: Makefile $(POTFILE) refresh-po
refresh-po: Makefile
for cat in $(POFILES); do \
lang=`basename $$cat .po`; \
if $(MSGMERGE) $$lang.po $(POTFILE) > $$lang.pot ; then \
mv -f $$lang.pot $$lang.po ; \
echo "$(MSGMERGE) of $$lang succeeded" ; \
else \
echo "$(MSGMERGE) of $$lang failed" ; \
rm -f $$lang.pot ; \
fi \
done
clean:
@rm -fv *mo *~ .depend
install: $(MOFILES)
@for n in $(MOFILES); do \
l=`basename $$n .mo`; \
$(INSTALL_DIR) $(INSTALL_NLS_DIR)/$$l/LC_MESSAGES; \
$(INSTALL_DATA) --verbose $$n $(INSTALL_NLS_DIR)/$$l/LC_MESSAGES/$(NLSPACKAGE).mo; \
done
%.mo: %.po
$(MSGFMT) -o $@ $<
.PHONY: missing depend
gnome-schedule.gladestrings
/*
* Translatable strings file generated by Glade.
* Add this file to your project's POTFILES.in.
* DO NOT compile it as part of your application.
*/
gchar *s = N_("Advanced Samba Server Settings");
gchar *s = N_("label30");
gchar *s = N_("Basic");
gchar *s = N_("label31");
gchar *s = N_("Security");
gchar *s = N_("label32");
gchar *s = N_("Logging");
gchar *s = N_("label33");
gchar *s = N_("Protocol");
gchar *s = N_("label34");
gchar *s = N_("Tuning");
gchar *s = N_("label35");
gchar *s = N_("Printing");
gchar *s = N_("label36");
gchar *s = N_("Filename");
gchar *s = N_("label37");
gchar *s = N_("Domain");
gchar *s = N_("label38");
gchar *s = N_("Logon");
gchar *s = N_("label39");
gchar *s = N_("Browse");
gchar *s = N_("label40");
gchar *s = N_("WINS");
gchar *s = N_("label41");
gchar *s = N_("Locking");
gchar *s = N_("label42");
gchar *s = N_("Miscellaneous");
gchar *s = N_("label43");
gchar *s = N_("VFS");
gchar *s = N_("label44");
gchar *s = N_("Winbind");
gchar *s = N_("Server Settings");
gchar *s = N_("_Workgroup:");
gchar *s = N_("*");
gchar *s = N_("*");
gchar *s = N_("_Description:");
gchar *s = N_("_Basic");
gchar *s = N_("_Authentication Mode:");
gchar *s = N_("_Encrypt Passwords:");
gchar *s = N_("_Guest Account:");
gchar *s = N_("A_uthentication Server:");
gchar *s = N_("*");
gchar *s = N_("_Kerberos Realm:");
gchar *s = N_("*");
gchar *s = N_("_Security");
gchar *s = N_("Samba Users");
gchar *s = N_("_Add User");
gchar *s = N_("_Edit User");
gchar *s = N_("_Delete User");
gchar *s = N_("Create New Samba User");
gchar *s = N_("_Unix Username:");
gchar *s = N_("_Windows Username:");
gchar *s = N_("_Samba Password:");
gchar *s = N_("*");
gchar *s = N_("Con_firm Samba Password:");
gchar *s = N_("*");
gchar *s = N_("*");
gchar *s = N_("window1");
gchar *s = N_("*");
gchar *s = N_("Brow_se...");
gchar *s = N_("_Directory:");
gchar *s = N_("D_escription:");
gchar *s = N_("*");
gchar *s = N_("Basic Permissions:");
gchar *s = N_("_Read-only");
gchar *s = N_("Read / _Write");
gchar *s = N_("_Basic");
gchar *s = N_("O_nly allow access to specific users");
gchar *s = N_("A_llow access to everyone");
gchar *s = N_("_Access");
gchar *s = N_("window1");
gchar *s = N_("Permissions:");
gchar *s = N_("User Permissions:");
gchar *s = N_("Group Permissions:");
gchar *s = N_("World Permissions:");
gchar *s = N_("Read");
gchar *s = N_("Read");
gchar *s = N_("Read");
gchar *s = N_("Write");
gchar *s = N_("Write");
gchar *s = N_("Write");
gchar *s = N_("Execute");
gchar *s = N_("Execute");
gchar *s = N_("Execute");
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2004-06-06 19:10+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../src/addWindow.py:66
msgid "Edit a scheduled task"
msgstr ""
#: ../src/addWindow.py:84
msgid "Create a new scheduled task"
msgstr ""
#. Setting up the columns
#: ../src/mainWindow.py:116
msgid "Title"
msgstr ""
#: ../src/mainWindow.py:118
msgid "Frequency"
msgstr ""
#: ../src/mainWindow.py:120
msgid "Command"
msgstr ""
#: ../src/mainWindow.py:230
msgid ""
"System Schedule @VERSION@\n"
" A graphical interface for configuring the system schedule"
msgstr ""
#: ../src/mainWindow.py:231
msgid "About"
msgstr ""
#.
#. * Translatable strings file generated by Glade.
#. * Add this file to your project's POTFILES.in.
#. * DO NOT compile it as part of your application.
#.
#: gnome-schedule.gladestrings:7
msgid "Advanced Samba Server Settings"
msgstr ""
#: gnome-schedule.gladestrings:8
msgid "label30"
msgstr ""
#: gnome-schedule.gladestrings:9
msgid "Basic"
msgstr ""
#: gnome-schedule.gladestrings:10
msgid "label31"
msgstr ""
#: gnome-schedule.gladestrings:11
msgid "Security"
msgstr ""
#: gnome-schedule.gladestrings:12
msgid "label32"
msgstr ""
#: gnome-schedule.gladestrings:13
msgid "Logging"
msgstr ""
#: gnome-schedule.gladestrings:14
msgid "label33"
msgstr ""
#: gnome-schedule.gladestrings:15
msgid "Protocol"
msgstr ""
#: gnome-schedule.gladestrings:16
msgid "label34"
msgstr ""
#: gnome-schedule.gladestrings:17
msgid "Tuning"
msgstr ""
#: gnome-schedule.gladestrings:18
msgid "label35"
msgstr ""
#: gnome-schedule.gladestrings:19
msgid "Printing"
msgstr ""
#: gnome-schedule.gladestrings:20
msgid "label36"
msgstr ""
#: gnome-schedule.gladestrings:21
msgid "Filename"
msgstr ""
#: gnome-schedule.gladestrings:22
msgid "label37"
msgstr ""
#: gnome-schedule.gladestrings:23
msgid "Domain"
msgstr ""
#: gnome-schedule.gladestrings:24
msgid "label38"
msgstr ""
#: gnome-schedule.gladestrings:25
msgid "Logon"
msgstr ""
#: gnome-schedule.gladestrings:26
msgid "label39"
msgstr ""
#: gnome-schedule.gladestrings:27
msgid "Browse"
msgstr ""
#: gnome-schedule.gladestrings:28
msgid "label40"
msgstr ""
#: gnome-schedule.gladestrings:29
msgid "WINS"
msgstr ""
#: gnome-schedule.gladestrings:30
msgid "label41"
msgstr ""
#: gnome-schedule.gladestrings:31
msgid "Locking"
msgstr ""
#: gnome-schedule.gladestrings:32
msgid "label42"
msgstr ""
#: gnome-schedule.gladestrings:33
msgid "Miscellaneous"
msgstr ""
#: gnome-schedule.gladestrings:34
msgid "label43"
msgstr ""
#: gnome-schedule.gladestrings:35
msgid "VFS"
msgstr ""
#: gnome-schedule.gladestrings:36
msgid "label44"
msgstr ""
#: gnome-schedule.gladestrings:37
msgid "Winbind"
msgstr ""
#: gnome-schedule.gladestrings:38
msgid "Server Settings"
msgstr ""
#: gnome-schedule.gladestrings:39
msgid "_Workgroup:"
msgstr ""
#: gnome-schedule.gladestrings:40
#: gnome-schedule.gladestrings:41
#: gnome-schedule.gladestrings:48
#: gnome-schedule.gladestrings:50
#: gnome-schedule.gladestrings:60
#: gnome-schedule.gladestrings:62
#: gnome-schedule.gladestrings:63
#: gnome-schedule.gladestrings:65
#: gnome-schedule.gladestrings:69
msgid "*"
msgstr ""
#: gnome-schedule.gladestrings:42
msgid "_Description:"
msgstr ""
#: gnome-schedule.gladestrings:43
#: gnome-schedule.gladestrings:73
msgid "_Basic"
msgstr ""
#: gnome-schedule.gladestrings:44
msgid "_Authentication Mode:"
msgstr ""
#: gnome-schedule.gladestrings:45
msgid "_Encrypt Passwords:"
msgstr ""
#: gnome-schedule.gladestrings:46
msgid "_Guest Account:"
msgstr ""
#: gnome-schedule.gladestrings:47
msgid "A_uthentication Server:"
msgstr ""
#: gnome-schedule.gladestrings:49
msgid "_Kerberos Realm:"
msgstr ""
#: gnome-schedule.gladestrings:51