You are not logged in.
Pages: 1
Hey there,
I am working on my first PKGBUILD for a program of mine. Have to translate the program to english tho, before I upload a PKGBUILD.
Nevertheless I tried myself so far and got this:
# Maintainer: xxx
pkgname='TUII-git'
pkgver=12.6358d15
pkgrel=1
pkgdesc="Simple Project Management System"
arch=('i686' 'x86_64')
url="http://github.com/ntropy83/TUII"
license=('GPL')
depends=('qt5-base')
optdepends=()
backup=()
options=()
source=("git+https://github.com/ntropy83/TUII.git")
md5sums=('SKIP')
pkgver() {
cd "TUII"
echo $(git rev-list --count master).$(git rev-parse --short master)
}
build() {
cd "$srcdir/TUII"
qmake "Projektverwaltung.pro"
CONFIG+=release
make -j $(grep -c ^processor /proc/cpuinfo)
}
package(){
cd "${srcdir}/${_pkgname}"
install -Dm755 TUII/Projektverwaltung "${pkgdir}"/usr/share/TUII/Projektverwaltung
install -Dm755 TUII/TUII.desktop "${pkgdir}"/usr/share/applications/TUII.desktop
}I still havent understood tho the underlieing system of how I use the AUR best and how I get my PKGBUILD there. Are there some good ressources to read up besides the wiki or 4 words from you, so I can learn the system?
Thx in advance,
Greetings
~ent
Last edited by entropie (2020-07-03 08:17:49)
Offline
Looks like a good start. A few points.
- Remove all the empty variables/arrays that are not used.
- Package names should not include uppercase.
- Do not pass -j flags to make. This is specified by the user in MAKEFLAGS set in makepkg.conf - do not override this unless it is to specify a single thread build when needed.
- Your binary should be installed to /usr/bin not /usr/share/TUII/
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Looks like a good start. A few points.
- Remove all the empty variables/arrays that are not used.
- Package names should not include uppercase.
- Do not pass -j flags to make. This is specified by the user in MAKEFLAGS set in makepkg.conf - do not override this unless it is to specify a single thread build when needed.
- Your binary should be installed to /usr/bin not /usr/share/TUII/
Ok, will do thank you ![]()
Offline
Does not build in a clean chroot
==> Starting build()...
Info: creating stash file /build/TUII-git/src/TUII/.qmake.stash
/usr/bin/uic forms/mainwindow.ui -o ui_mainwindow.h
/usr/bin/uic forms/project_poster.ui -o ui_project_poster.h
/usr/bin/uic forms/projectdialog.ui -o ui_projectdialog.h
g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o main.o src/main.cpp
g++ -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=gnu++11 -Wall -Wextra -dM -E -o moc_predefs.h /usr/lib/qt/mkspecs/features/data/dummy.cpp
g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o mainwindow.o src/mainwindow.cpp
g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o project_poster.o src/project_poster.cpp
g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o projectdialog.o src/projectdialog.cpp
/usr/bin/moc -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --include /build/TUII-git/src/TUII/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/build/TUII-git/src/TUII -I/usr/include/qt -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtCore -I/usr/include/c++/10.1.0 -I/usr/include/c++/10.1.0/x86_64-pc-linux-gnu -I/usr/include/c++/10.1.0/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include-fixed -I/usr/include inc/mainwindow.hpp -o moc_mainwindow.cpp
/usr/bin/moc -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --include /build/TUII-git/src/TUII/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/build/TUII-git/src/TUII -I/usr/include/qt -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtCore -I/usr/include/c++/10.1.0 -I/usr/include/c++/10.1.0/x86_64-pc-linux-gnu -I/usr/include/c++/10.1.0/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include-fixed -I/usr/include inc/project_poster.hpp -o moc_project_poster.cpp
/usr/bin/moc -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB --include /build/TUII-git/src/TUII/moc_predefs.h -I/usr/lib/qt/mkspecs/linux-g++ -I/build/TUII-git/src/TUII -I/usr/include/qt -I/usr/include/qt/QtWidgets -I/usr/include/qt/QtGui -I/usr/include/qt/QtCore -I/usr/include/c++/10.1.0 -I/usr/include/c++/10.1.0/x86_64-pc-linux-gnu -I/usr/include/c++/10.1.0/backward -I/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include -I/usr/local/include -I/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include-fixed -I/usr/include inc/projectdialog.hpp -o moc_projectdialog.cpp
g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o moc_project_poster.o moc_project_poster.cpp
g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o moc_mainwindow.o moc_mainwindow.cpp
g++ -c -pipe -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -std=gnu++11 -Wall -Wextra -D_REENTRANT -fPIC -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -I. -I. -I/usr/lib/qt/mkspecs/linux-g++ -o moc_projectdialog.o moc_projectdialog.cpp
In file included from src/projectdialog.cpp:1:
src/../inc/save_handler.hpp: In function ‘QStringList edit_readout(QString)’:
src/../inc/save_handler.hpp:89:70: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
89 | QStringList line_data=line.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/QString:1,
from src/../inc/globals.hpp:4,
from src/../inc/save_handler.hpp:6,
from src/projectdialog.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/projectdialog.cpp:1:
src/../inc/save_handler.hpp: In function ‘QStandardItemModel* readout(QString)’:
src/../inc/save_handler.hpp:143:80: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
143 | QStringList line_data=line.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/QString:1,
from src/../inc/globals.hpp:4,
from src/../inc/save_handler.hpp:6,
from src/projectdialog.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/projectdialog.cpp:1:
src/../inc/save_handler.hpp: In function ‘QStandardItemModel* readout_mp(QString)’:
src/../inc/save_handler.hpp:236:72: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
236 | QStringList line_data=line.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/QString:1,
from src/../inc/globals.hpp:4,
from src/../inc/save_handler.hpp:6,
from src/projectdialog.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/projectdialog.cpp:1:
src/../inc/save_handler.hpp: In function ‘QStringList edit_readout_mp(QString)’:
src/../inc/save_handler.hpp:294:72: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
294 | QStringList line_data=line.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/QString:1,
from src/../inc/globals.hpp:4,
from src/../inc/save_handler.hpp:6,
from src/projectdialog.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/projectdialog.cpp:1:
src/../inc/save_handler.hpp:322:75: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
322 | line_formatted = line_reordered.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/QString:1,
from src/../inc/globals.hpp:4,
from src/../inc/save_handler.hpp:6,
from src/projectdialog.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/mainwindow.cpp:1:
src/../inc/save_handler.hpp: In function ‘QStringList edit_readout(QString)’:
src/../inc/save_handler.hpp:89:70: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
89 | QStringList line_data=line.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/QString:1,
from src/../inc/globals.hpp:4,
from src/../inc/save_handler.hpp:6,
from src/mainwindow.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/mainwindow.cpp:1:
src/../inc/save_handler.hpp: In function ‘QStandardItemModel* readout(QString)’:
src/../inc/save_handler.hpp:143:80: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
143 | QStringList line_data=line.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/QString:1,
from src/../inc/globals.hpp:4,
from src/../inc/save_handler.hpp:6,
from src/mainwindow.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/mainwindow.cpp:1:
src/../inc/save_handler.hpp: In function ‘QStandardItemModel* readout_mp(QString)’:
src/../inc/save_handler.hpp:236:72: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
236 | QStringList line_data=line.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/QString:1,
from src/../inc/globals.hpp:4,
from src/../inc/save_handler.hpp:6,
from src/mainwindow.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/mainwindow.cpp:1:
src/../inc/save_handler.hpp: In function ‘QStringList edit_readout_mp(QString)’:
src/../inc/save_handler.hpp:294:72: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
294 | QStringList line_data=line.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/QString:1,
from src/../inc/globals.hpp:4,
from src/../inc/save_handler.hpp:6,
from src/mainwindow.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/mainwindow.cpp:1:
src/../inc/save_handler.hpp:322:75: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
322 | line_formatted = line_reordered.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/QString:1,
from src/../inc/globals.hpp:4,
from src/../inc/save_handler.hpp:6,
from src/mainwindow.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/project_poster.cpp:3:
src/../inc/save_handler.hpp: In function ‘QStringList edit_readout(QString)’:
src/../inc/save_handler.hpp:89:70: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
89 | QStringList line_data=line.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/qobject.h:47,
from /usr/include/qt/QtWidgets/qwidget.h:45,
from /usr/include/qt/QtWidgets/qdialog.h:44,
from /usr/include/qt/QtWidgets/QDialog:1,
from src/../inc/project_poster.hpp:4,
from src/project_poster.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/project_poster.cpp:3:
src/../inc/save_handler.hpp: In function ‘QStandardItemModel* readout(QString)’:
src/../inc/save_handler.hpp:143:80: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
143 | QStringList line_data=line.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/qobject.h:47,
from /usr/include/qt/QtWidgets/qwidget.h:45,
from /usr/include/qt/QtWidgets/qdialog.h:44,
from /usr/include/qt/QtWidgets/QDialog:1,
from src/../inc/project_poster.hpp:4,
from src/project_poster.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/project_poster.cpp:3:
src/../inc/save_handler.hpp: In function ‘QStandardItemModel* readout_mp(QString)’:
src/../inc/save_handler.hpp:236:72: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
236 | QStringList line_data=line.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/qobject.h:47,
from /usr/include/qt/QtWidgets/qwidget.h:45,
from /usr/include/qt/QtWidgets/qdialog.h:44,
from /usr/include/qt/QtWidgets/QDialog:1,
from src/../inc/project_poster.hpp:4,
from src/project_poster.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/project_poster.cpp:3:
src/../inc/save_handler.hpp: In function ‘QStringList edit_readout_mp(QString)’:
src/../inc/save_handler.hpp:294:72: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
294 | QStringList line_data=line.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/qobject.h:47,
from /usr/include/qt/QtWidgets/qwidget.h:45,
from /usr/include/qt/QtWidgets/qdialog.h:44,
from /usr/include/qt/QtWidgets/QDialog:1,
from src/../inc/project_poster.hpp:4,
from src/project_poster.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
In file included from src/project_poster.cpp:3:
src/../inc/save_handler.hpp:322:75: warning: ‘QStringList QString::split(const QString&, QString::SplitBehavior, Qt::CaseSensitivity) const’ is deprecated: Use Qt::SplitBehavior variant instead [-Wdeprecated-declarations]
322 | line_formatted = line_reordered.split(" /// ", QString::SkipEmptyParts);
| ^
In file included from /usr/include/qt/QtCore/qobject.h:47,
from /usr/include/qt/QtWidgets/qwidget.h:45,
from /usr/include/qt/QtWidgets/qdialog.h:44,
from /usr/include/qt/QtWidgets/QDialog:1,
from src/../inc/project_poster.hpp:4,
from src/project_poster.cpp:1:
/usr/include/qt/QtCore/qstring.h:604:17: note: declared here
604 | QStringList split(const QString &sep, SplitBehavior behavior,
| ^~~~~
g++ -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -o Projektverwaltung main.o mainwindow.o project_poster.o projectdialog.o moc_mainwindow.o moc_project_poster.o moc_projectdialog.o /usr/lib/libQt5Widgets.so /usr/lib/libQt5Gui.so /usr/lib/libQt5Core.so -lGL -lpthread
mkdir /build/.local/share/TUII
mkdir: cannot create directory ‘/build/.local/share/TUII’: No such file or directory
make: *** [Makefile:162: Projektverwaltung] Error 1
==> ERROR: A failure occurred in build().
Aborting...Looks to be due to https://github.com/ntropy83/TUII/blob/m … ung.pro#L9
Edit:
Removing the following with sed allowed build() to complete
unix {
HOME = $$system(echo $HOME)
LIB_DIR_UNIX = $$HOME/.local/share/TUII
QMAKE_POST_LINK += $$quote(mkdir $${LIB_DIR_UNIX} $$escape_expand(\n\t))
target.uninstall = $$quote(rm -rf $${LIB_DIR_UNIX} $$escape_expand(\n\t))
}Also missing makedepends git
Last edited by loqs (2020-07-02 22:22:43)
Offline
Argh! Just by building it it created stuff in my home directory. That's definitely a no-no.
These cannot be in the build:
HOME = $$system(echo $HOME)
LIB_DIR_UNIX = $$HOME/.local/share/TUII"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Yes I need a place to store the input into the PMS. It's an ongoing management tool and I just made the database from files. Have no idea where to put those files tho, to have a good spot.
in your build Ioqs HOME = $$system(echo $HOME) didnt return your home directory, so it died at the end of make.
Offline
Your program can create that path when it is run, but it should not try to access or create anything under /home while being built. The path also shouldn't be hardcoded into the binary as it may be built on one machine and used on another.
You could also use a location under /usr/lib depending on what is to be stored.
Last edited by Trilby (2020-07-02 22:33:15)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
Your program can create that path when it is run, but it should not try to access or create anything under /home while being built.
You could also use a location under /usr/lib depending on what is to be stored.
Ok got that
So far I have to store the main projects and corresponding files for milestones and project end reports attached to the singular projects.
I will make a popup on the first program launch to choose a save path.
Last edited by entropie (2020-07-02 22:45:36)
Offline
https://github.com/ntropy83/TUII/blob/m … desktop#L4
This must not try to run the binary in /usr/share
It should rely on being installed to a directory in $PATH, and simply "Exec=Projektverwaltung %F"
Random note: why is "Simple Project Management System" being classified as "Categories=TextEditor;", can I open *.txt files and edit them with this application?
"Icon=editor" -- which icon theme provides an "apps/editor.png" icon?
In the .pro file, why is this specified?
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += targetThis creates a "make install" option which installs to /opt/Projektverwaltung/bin/Projektverwaltung instead of /usr/bin/Projektverwaltung, and a desktop file which demands /usr/share/TUII/Projektverwaltung
This project is completely inconsistent with regard to the installation path...
Last edited by eschwartz (2020-07-03 00:35:56)
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
Ok I got it, I will delete it, wasnt worth it anyway
Goodbye
Offline
These are fairly minor fixes which would result in having a fully automatic deployment process with Make. It merely requires some attention to detail to make sure you're correctly integrating with https://freedesktop.org/wiki/Specificat … ntry-spec/ and the filesystem hierarchy. ![]()
No need to delete anything...
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
all gone, no harm done.
sry for wasting your time
Offline
Sorry for being so bitchy the other day, I had a bad one
.
I respected all of your input and put it up: https://aur.archlinux.org/packages/tu2/
I have to use the home dir as a save location, cause I want the program to start up with all actual projects as part of its usability. But I put up a notification for Linux users on the main screen where the save location is and I will implement the ability to change that location any time.
thanks for your help
.
Offline
You could use https://doc.qt.io/qt-5/qstandardpaths.html to access some standard locations see https://github.com/qt/qtbase/blob/v5.15 … s_unix.cpp and https://specifications.freedesktop.org/ … atest.html
Offline
Sorry for being so bitchy the other day, I had a bad one
.
No worries, we all have those days. I'm glad you reconsidered.
The new package seems much better. I just successfully built, installed, and ran it.
There is no harm at all in saving data under the user's home dir when the program is run. Using ~/.local/share/tu2/ seems like a very good place to store this data. The concern was not at all in writing to the user's director when the program runs, that just can't happen during the build process which you've now fixed. I'm not sure there's need to make this path customizable - it certainly wouldn't hurt as a feature, but quite a few good programs have fixed locations for their data which is perfectly acceptable.
As a side note, I did seem to get a bug on exiting. I beleive the menu option "Beenden" is exit / quit, right (I know NO German). Upon selecting that menu option, my entire X session is terminated. There was no error output on stdout at that time.
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
@Ioqs thx, I will look into that. My solution does work for Linux and Windows so far but it obviously broke MacOS support. They dont seem to have a $HOME/.local/share folder ![]()
@Trilby ok thanks, appreciate it.
Yes "Beenden" is quit. Kinda strange it kills your X session, the button only uses this function:
// Close Program
void MainWindow::on_actionBeenden_triggered()
{
this->close();
}Offline
The program has an option for english now, if you want to take a peek https://aur.archlinux.org/packages/tu2/ . Its still very specialized tho, to its original intent and I have to give more room to the user, to change labels to how he needs it.
Does by chance someone know what is it with:
QStringList line_data=line.split(" /// ", QString::SkipEmptyParts);
QStringList line_data=line.split(" /// ", Qt::SkipEmptyParts, Qt::CaseInsensitive);If I use the first expression, I get compiler warnings on gcc. If I use the second expression, cross-compilation with MinGW 32-bit is failing as well as the lgtm.com code check but no compiler warnings on gcc. MSVC compiles with both, yet the standalone exe later has troubles to find the Qt dlls as always, but I wont bother with that.
Last edited by entropie (2020-07-07 22:09:17)
Offline
Does by chance someone know what is it with:
QStringList line_data=line.split(" /// ", QString::SkipEmptyParts); QStringList line_data=line.split(" /// ", Qt::SkipEmptyParts, Qt::CaseInsensitive);If I use the first expression, I get compiler warnings on gcc. If I use the second expression, cross-compilation with MinGW 32-bit is failing as well as the lgtm.com code check but no compiler warnings on gcc. MSVC compiles with both, yet the standalone exe later has troubles to find the Qt dlls as always, but I wont bother with that.
This is an unrelated issue that warrants it's own thread. Please start a new one, Programming & Scripting would be the best place for it.
Offline
Pages: 1