Добавил скриты сборки rpm, переделал сборку deb

This commit is contained in:
svkalinin 2022-11-28 13:30:01 +03:00
parent c50768ba56
commit 2bd1b76981
9 changed files with 182 additions and 119 deletions

View File

@ -1,10 +1,10 @@
# About
## About
ProjMan (aka "Tcl/Tk Project Manager") is a editor for programming in TCL/Tk (and other language).
It includes a file manager, a source editor with syntax highlighting and code navigation, a context-sensitive help system, Git support, and much more.
Working an Linux and Windows.
# Support languages
## Support languages
Highlightning and source code navigation:
@ -22,13 +22,88 @@ Highlightning:
* HTML
* XML
# Requirements
## Requirements
For UNIX-like OS
Tcl/Tk >= 8.6 http://tcl.tk
tcllib, tklib
# Credits
## Getting source code
Download the source code archive https://git.nuk-svk.ru/svk/projman/archive/master.tar.gz
Or use git:
```
git clone https://git.nuk-svk.ru/svk/projman.git
```
## Build package
```
cd projman/debian/
./build-deb-projman.sh
cd projman/redhat/
./build-rpm-projman.sh
```
## Install
Use package manager for you system:
Debian ```sudo dpkg -i projman_2.0.0-alpha_amd64.deb```
Redhat ```sudo rpm -Uhv projman_2.0.0-alpha_amd64.rpm```
## Usage
Running command (need full path to the each file or folder):
Open files
```
projman ~/tmp/test.tcl ~/tmp/2.go ...
```
Open folders
```
projman ~/projects/projman ...
```
Or type "projman" into terminal, Or choose the name of the program "Projman" on the Start menu.
### Keyboard shortcut
- Ctrl-N - Create new file
- Ctrl-O - Open file
- Ctrl-W - Close editor (file)
- Ctrl-K - Open folder
- Ctrl-Q - Quit from ProjMan
- Ctrl-J - Show procedures (functions) list for navigation in open editor
- Ctrl-L - Find and display files where the variable is defined, the name of which is located under the cursor in the editor
- Ctrl-F - Search text in open editor
- Ctrl-[ - Move the line (or selected lines) one position (see config tabSize=4) to the right
- Ctrl-] - Move the line (or selected lines) one position to the left
- Ctrl-, - Comment the line (or selected lines)
- Ctrl-. - Uncomment the line (or selected lines)
- Ctrl-I - Insert base64 encoded image into edited text
- Ctrl-G - Go to line dialog
- Ctrl-C - Copy selected text into buffer
- Ctrl-V - Paste text from buffer
- Alt-P - Show/Hide the file tree panel
- Alt-W - Delete the word
- Alt-E - Delete text from current position to end of line
- Alt-B - Delete text from current position to begin of line
- Alt-R - Delete current line
- Alt-Y - Copy current line into buffer
- Alt-S - Split the edited window horizontally
## Credits
Sergey Kalinin - author
svk@nuk-svk.ru

View File

@ -3,10 +3,10 @@
cd ../
VERSION=$(grep Version projman.tcl | grep -oE '\b[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,2}\b')
RELEASE=$(grep Release projman.tcl | grep -oE '\b[0-9A-Za-z]{1,3}\b')
RELEASE=$(grep Release projman.tcl | grep -oE '[0-9A-Za-z]+$')
BUILD_DATE=$(date +%d%m%Y%H%M%S)
TXT="# Build: ${BUILD_DATE}"
echo "$VERSION, $RELEASE, $BUILD_DATE"
sed -i "/# Build:.*/c$TXT" projman.tcl
cp projman.tcl projman
@ -25,4 +25,3 @@ dpkg-buildpackage
rm -v projman
rm -r -v debian/{projman,.debhelper}

4
debian/install vendored
View File

@ -3,5 +3,5 @@ lib/*.tcl /usr/share/projman/lib
lib/msgs/* /usr/share/projman/lib/msgs
theme /usr/share/projman/
README.md /usr/share/doc/projman
debian/projman.desktop /usr/share/applications
projman-48.png /usr/share/pixmaps
projman.desktop /usr/share/applications
projman.png /usr/share/pixmaps

View File

@ -8,4 +8,4 @@ Type=Application
StartupNotify=true
MimeType=text/plain;
Categories=Development;TextEditor;
Icon=projman-48
Icon=projman

BIN
projman.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -1,108 +0,0 @@
Name: projman
Version: 0.4.5
Release: rh1
Summary: Tcl/Tk Project Manager
License: GPL
Group: Development/Tcl
Url: https://bitbucket.org/svk28/projman
BuildArch: noarch
Source: %name-%version-%release.tar.gz
Requires: tcl, tk, bwidget, tcl-img
%description
This programm is Integrated Development Environment for Tcl/Tk language programming. Include - project manager, text and source editor with syntax highlightning, archive (tar.gz) and PRM builder and more.
%description -l ru_RU.UTF8
Интегрированная среда для программирования на Tcl/Tk. Включает в себя - менеджер проектов, полнофункциональный редактор, систему навигации по файлам и структуре файлов и многое другое.
%prep
%setup -n %name
%build
%install
mkdir -p $RPM_BUILD_ROOT{%_bindir,%_datadir/%name/{img,msgs,/lib/highlight}}
install -p -m755 projman.tcl $RPM_BUILD_ROOT%_bindir/%name
install -p -m644 *.tcl $RPM_BUILD_ROOT%_datadir/%name/
install -p -m644 lib/highlight/*.tcl $RPM_BUILD_ROOT%_datadir/%name/highlight/
install -p -m644 *.conf $RPM_BUILD_ROOT%_datadir/%name/
install -p -m644 img/*.* $RPM_BUILD_ROOT%_datadir/%name/img/
install -p -m644 msgs/*.* $RPM_BUILD_ROOT%_datadir/%name/msgs/
# Menu support
#mkdir -p $RPM_BUILD_ROOT/usr/lib/menu
#cat > $RPM_BUILD_ROOT%_libdir/menu/%name << EOF
#?package(%name): needs=x11 icon="projman.png" section="Applications/Development/Development environments" title=ProjMan longtitle="Tcl/Tk Project Manager" command=projman
#EOF
#mdk icons
#install -d $RPM_BUILD_ROOT{%_iconsdir,%_liconsdir,%_miconsdir}
#install -p -m644 img/icons/%name.png $RPM_BUILD_ROOT%_iconsdir/
#install -p -m644 img/icons/large/%name.png $RPM_BUILD_ROOT%_liconsdir/
#install -p -m644 img/icons/mini/%name.png $RPM_BUILD_ROOT%_miconsdir/
%post
%update_menus
%postun
%clean_menus
%files
%doc INSTALL CHANGELOG TODO COPYING README THANKS
%doc hlp/ru/*
%_bindir/%name
%_datadir/%name
#%_libdir/menu/%name
#%_iconsdir/%name.png
#%_liconsdir/%name.png
#%_miconsdir/%name.png
%changelog
* Fri Feb 16 2018 Sergey Kalinin <banzaj@altlinux.ru> 0.4.5
- Added saving main window geometry into projman.conf file when close programm
- Fixed AutoComplite precedure for TCL/TK-projects
- Added colored icon for main window
- Fixed "Close all" procedure if opened files from projects and file browser
- Fixed parsing some procedure name like ::proc::name or proc_na::me(aa) and parameters {{} {} {}}
- Added opening last active project when project run
- Fixed Windows OS running without installation
- Added gray theme
- Fixed work with file from directory (FileBrowser function).
- Auto indent added for () [] braces
- File Browser added. Now we will edited any file without project
- Tcl, Perl, PHP highlight comment procedure fixed
- Help file Text.html utf-8 encoding
- Change hotkeys "Control+," "Control+." "Control+/" (commect selected, uncoment selected, select all)
- Add new function Comments/Uncomment selected text
- Added binding mouse button: click on notebook tab highlight opened file name in tree
- Change "Paste from Clipboard" function
- Change popup editor menu (undo, redo, copy, paste, cut functions)
- Change Logo and About dialog
- Russian help files was conerting into utf-8 encode
- Change help file load procedure
- Fixed paste text highlight
- Fixed setting edited flag when paste the text from buffer
- Remove ctags support
- Added gitk (gui for git) support
- Changes color setting dialog into "Setting"
- Actualizing information into "About" dialog
- Corrected color settings for all widgets
- Change default color scheme
- Remove ctag, change autocomplitt procedure
* Wed Feb 13 2008 Sergey Kalinin <banzaj@altlinux.ru> 0.3.8-alt1
- Added text encoding support from koi8-r,cpp1251,cp866 to UTF-8
* Tue Feb 20 2007 Sergey Kalinin <banzaj@altlinux.ru> 0.3.7-alt4
- Fixed setiings dialog
- Fixed saved settings parameter
* Wed Oct 18 2006 Sergey Kalinin <banzaj@altlinux.ru> 0.3.7-alt3
- Remove SuperText widget now use native TEXT

View File

@ -10,7 +10,7 @@ exec wish "$0" -- "$@"
######################################################
# Version: 2.0.0
# Release: alpha
# Build: 25112022125026
# Build: 28112022130305
######################################################
# определим текущую версию, релиз и т.д.

42
redhat/build-rpm.sh Executable file
View File

@ -0,0 +1,42 @@
#!/bin/bash
RPM_BUILD_DIR=${HOME}/rpmbuild
mkdir -p ${RPM_BUILD_DIR}/{SOURCES,RPMS,SRPMS,SPECS,RPMS/noarch}
cd ../
VERSION=$(grep "Version" projman.tcl | grep -oE '\b[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,2}\b')
RELEASE=$(grep "# Release" projman.tcl | grep -oE '[0-9A-Za-z]+$')
BUILD_DATE=$(date +%d%m%Y%H%M%S)
TXT="# Build: ${BUILD_DATE}"
sed -i "/# Build:.*/c$TXT" projman.tcl
cp projman.tcl projman
sed -i "s+^set\ dir(lib)+set\ dir(lib)\ /usr/share/projman/lib ;#+g" projman
sed -i "s+\[pwd\]+/usr/share/projman+g" projman
CUR_DIR=$(pwd)
cd ../
tar --exclude='.git' --exclude='debian' --exclude='redhat' --exclude='projman.tcl' -czf ${RPM_BUILD_DIR}/SOURCES/projman-${VERSION}-${RELEASE}.tar.gz projman
cd ${CUR_DIR}
cp redhat/projman.spec ${RPM_BUILD_DIR}/SPECS/projman.spec
sed -i "s/.*Version:.*/Version:\t${VERSION}/" ${RPM_BUILD_DIR}/SPECS/projman.spec
sed -i "s/.*Release:.*/Release:\t${RELEASE}/" ${RPM_BUILD_DIR}/SPECS/projman.spec
rpmbuild -ba "${RPM_BUILD_DIR}/SPECS/projman.spec"
# cp ${RPM_BUILD_DIR}/RPMS/noarch/projman-${VERSION}-${RELEASE}.noarch.rpm /files/
# cp ${RPM_BUILD_DIR}/SRPMS/projman-${VERSION}-${RELEASE}.src.rpm /files/
rm -v projman
rm -r -v ${RPM_BUILD_DIR}/SPECS/projman.spec
rm -r -v ${RPM_BUILD_DIR}/SOURCES/projman-${VERSION}-${RELEASE}.tar.gz
rm -r -v ${RPM_BUILD_DIR}/BUILD/projman

55
redhat/projman.spec Normal file
View File

@ -0,0 +1,55 @@
Name: projman
Version: 2.0.0
Release: rh1
Summary: Tcl/Tk Project Manager
License: GPL
Group: Development/Tcl
Url: https://nuk-svk.ru
BuildArch: noarch
Source: %name-%version-%release.tar.gz
Requires: tcl, tk, tklib, tcllib
%description
This a editor for programming in TCL/Tk (and other language). It includes a file manager, a source editor with syntax highlighting and code navigation, a context-sensitive help system, Git support, and much more.
%description -l ru_RU.UTF8
Интегрированная среда для программирования на Tcl/Tk. Включает в себя - менеджер проектов, полнофункциональный редактор, систему навигации по файлам и структуре файлов и многое другое.
%prep
%setup -n %name
%build
%install
mkdir -p $RPM_BUILD_ROOT%_bindir
mkdir -p $RPM_BUILD_ROOT%_datadir/%name/lib/msgs
mkdir -p $RPM_BUILD_ROOT%_datadir/%name/theme
mkdir -p $RPM_BUILD_ROOT%{_datarootdir}/applications
install -p -m755 projman $RPM_BUILD_ROOT%_bindir/%name
install -p -m755 tkregexp.tcl $RPM_BUILD_ROOT%_bindir/tkregexp
# install -p -m644 *.tcl $RPM_BUILD_ROOT%_datadir/%name/
install -p -m644 lib/*.tcl $RPM_BUILD_ROOT%_datadir/%name/lib/
install -p -m644 lib/msgs/*.* $RPM_BUILD_ROOT%_datadir/%name/lib/msgs/
install -p -m644 theme/*.tcl $RPM_BUILD_ROOT%_datadir/%name/theme
install -p -m644 projman.desktop $RPM_BUILD_ROOT%{_datarootdir}/applications
%post
%update_menus
%postun
%clean_menus
%files
%doc INSTALL CHANGELOG TODO LICENSE README.md
%_bindir/%name
%_bindir/tkregexp
%_datarootdir/applications/%name.desktop
%_datadir/%name
%changelog
* Mon Nov 28 2022 Sergey Kalinin <svk@nuk-svk.ru> 2.0.0
- Initial release