Coder Social home page Coder Social logo

pandel / opsipackagebuilder Goto Github PK

View Code? Open in Web Editor NEW
9.0 9.0 6.0 42.38 MB

opsi PackageBuilder is a tool for opsi (open pc server integration) package building and deployment.

Home Page: https://forum.opsi.org/viewforum.php?f=22

License: Other

Shell 0.11% TeX 1.10% Python 98.50% QMake 0.12% Batchfile 0.09% Inno Setup 0.08%

opsipackagebuilder's People

Contributors

kochd avatar pandel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

opsipackagebuilder's Issues

Zeitgesteuerte Skriptausführung

Hallo,

vorweg, das Tool ist unglaublich. Vielen Dank für die Entwicklung bis hierhin!

Bei der Erstellung zeitgesteuerter Skriptausführungen habe ich einen kleinen Verbesserungsvorschlag.
Mein Abschlussprojekt meiner Ausbildung handelte über opsi und dafür habe Ich ein Skript geschrieben, mit dessen Hilfe alle Windows Server geupdated werden können.

Für die Zeitgesteuerte Ausführung habe ich Dein Tool genutzt, da opsi dies nicht von Haus aus anbietet.

Unsere Server haben wir in opsi in verschiedenen Gruppen geordnet. Einerseites für einen besseren Überblick welcher Server für welche Aufgabe zuständig ist, andererseits aber auch für den gleichzeitigen Neustart, dass die virtuelle Umgebung nicht zu stark belastet wird. So werden maximal 5 Server gleichzeitig neugestartet und nicht alle 50 auf einmal.

In Deinem Tool können auch mehrere Server gleichzeitig ausgewählt werden um ein Skript zu einer bestimmten Zeit ausführen zu können.
Das Problem hierbei ist jedoch, dass mir nur die Client Liste angezeigt wird und nicht die Ordner in denen sich alle Server befinden.
In der Client Liste befinden sich unter anderem auch alle Clients. Es ist sehr aufwändig die benötigten Server zwischen allen anderen Servern und Clients herauszusuchen und anschließend die Einstellungen vorzunehmen.

Ich hatte mir vorgestellt, dass die Liste so, wie sie in opsi vorhanden ist, auch in dem PackageBuilder integriert werden könnte. Dementsprechend auch mit allen Ordnern + Inhalt.
Man müsse dann lediglich den betreffenden Ordner anklicken, hat automatisch alle sich darin befindenen Geräte ausgewählt und kann die restlichen Einstellungen vornehmen.

Ich hoffe, dass dieses Vorhaben umsetzbar ist.

Vielen Dank schonmal!

Bei weiteren Fragen stehe ich Ihnen gerne zur Verfügung.

MfG
Florian

unhandled exception

When I try to build a package i get these errers:
image
and when trying to change setting i get these:
image

Dependencies

Hi Holger,

man kann 2 Dinge mit dem oPB nicht tun, die von uns (uib) supportet werden.

A) Dependencies müssen kein 'before' oder 'after' haben; wenn ich einfach nur ein java haben will, dann muss ich before/after nicht angeben. 'RequirementType' kann also entfallen. Damit sagt der Admin: es spielt bei der Installation keine Rolle; ich will nur, daß es drauf ist.

B) es ist auch möglich, eine Abhängigkeit an die Aktion 'uninstall' zu hängen. Das 'verträgt' der oPB aber nicht. also zum einen kann man es darüber nicht einstellen; wenn man es von Hand in die control schreibt, dann kann das Projekt mit oPB nicht mehr bearbeitet werden, weil er denkt, der Wert ist nicht erlaubt.

Vor allem aber: vielen Dank für dein Super - Projekt !

Andre

Add a new script to corresponding action

When clicking on the pen icon for a yet empty action, it will open the script editor with the according standard filename, and also prompt to save the file as that.

I suggest: after saving and closing the file, the final file name should be assigned back to the action.

logo handling

i suggest to add functionality to:

  • let the user drag a desired logo for a package onto the image field or double click the empty field to bring up a file selection dialog
  • crop/resize/center the image at 160x160 px, if not already at that size (optional)
  • change background color to transparent, if not already transparent (optional)
  • save with an arbitrary name (optional) using one of the supported formats (png/jpg/bmp) (optional) in the CLIENT_DATA folder
  • allow editing the file using default image editing tool upon double click

image processing should be possible using imagemagick: https://wiki.python.org/moin/ImageMagick

Linux: Can't open external editor via oPB

I've tried jedit and kate. Both isn't working:

Der Editor endete nicht wie erwartet.

Folgende Ausgabe(n) wurde(n) zurückgegeben:

Standard Out:
Warning: $JAVA_HOME environment variable not set! Consider setting it.
         Attempting to locate java...
Found a virtual machine at: /usr/bin/java...
Usage: jedit [<options>] [<files>]
	<file> +marker:<marker>: Positions caret at marker <marker>
	<file> +line:<line>: Positions caret at line number <line>
	<file> +line:<line>,<column>: Positions caret at line number <line> and column number <column>
	--: End of options
	-background: Run in background mode
	-nobackground: Disable background mode (default)
	-gui: Only if running in background mode; open initial view (default)
	-nogui: Only if running in background mode; don't open initial view
	-log=<level>: Log messages with level equal to or higher than this to
	 standard error. <level> must be between 1 and 9. Default is 7.
	-newplainview: Client instance opens a new plain view
	-newview: Client instance opens a new view (default)
	-plugins: Load plugins (default)
	-noplugins: Don't load any plugins
	-restore: Restore previously open files (default)
	-norestore: Don't restore previously open files
	-reuseview: Client instance reuses existing view
	-quit: Quit a running instance
	-run=<script>: Run the specified BeanShell script
	-server: Read/write server info from/to $HOME/.jedit/server (default)
	-server=<name>: Read/write server info from/to $HOME/.jedit/<name>
	-noserver: Don't start edit server
	-settings=<path>: Load user-specific settings from <path>
	-nosettings: Don't load user-specific settings
	-nosplash: Don't show splash screen
	-startupscripts: Run startup scripts (default)
	-nostartupscripts: Don't run startup scripts
	-usage: Print this message and exit
	-version: Print jEdit version and exit
	-wait: Wait until the user closes the specified buffer in the server
	 instance. Does nothing if passed to the initial jEdit instance.

Report bugs to http://sourceforge.net/tracker/?group_id=588&atid=100588

Standard Err:
Unknown option: -x=opsi


Return code: 1

ASCII Character error when Packaging any Package

Hello Community,

since last week we are unable to Package any Package over the PackageBuilder. During the Process the following error appears:

[2022-09-05 02:34:47 PM] - oPB.core.processing.OpsiProcessing - SSH - [7] [2022-09-05 14:34:47.037] [ ] Trying to lock file '/home/opsiproducts/dotnet50-x64/OPSI/control' (0/2000) (init.py:228)
[2022-09-05 02:34:47 PM] - oPB.core.processing.OpsiProcessing - SSH - [7] [2022-09-05 14:34:47.037] [ ] File '/home/opsiproducts/dotnet50-x64/OPSI/control' locked after 0 millis (init.py:249)
[2022-09-05 02:34:47 PM] - oPB.core.processing.OpsiProcessing - SSH - [3] [2022-09-05 14:34:47.037] [ ] 'ascii' codec can't encode character '\xfc' in position 36: ordinal not in range(128) (opsimakepackage.py:493)
[2022-09-05 02:34:47 PM] - oPB.core.processing.OpsiProcessing - SSH - Traceback (most recent call last):
[2022-09-05 02:34:47 PM] - oPB.core.processing.OpsiProcessing - SSH - File "opsiutils/opsimakepackage.py", line 488, in main
[2022-09-05 02:34:47 PM] - oPB.core.processing.OpsiProcessing - SSH - File "opsiutils/opsimakepackage.py", line 296, in makepackage_main
[2022-09-05 02:34:47 PM] - oPB.core.processing.OpsiProcessing - SSH - File "opsiutils/opsimakepackage.py", line 126, in print_info
[2022-09-05 02:34:47 PM] - oPB.core.processing.OpsiProcessing - ERROR - UnicodeEncodeError: 'ascii' codec can't encode character '\xfc' in position 36: ordinal not in range(128)
[2022-09-05 02:34:47 PM] - oPB.core.processing.OpsiProcessing - ERROR - ERROR: 'ascii' codec can't encode character '\xfc' in position 36: ordinal not in range(128)

Wie only experience the Problem with the PackageBuilder.
Manuel packaging and Installation through the OPSI-Server works just fine.

We already checked the control-files manually, but we can't find the character /xfc (ö) the exact message the PackageBuilder gives us is attached to the post
Screenshot 2022-09-05 143505

Generate MD5 in Depotmanager

When I select an package in Depotmanager (fetch REPO content) and click on "Generate MD5" there comes an Error:
"Undefined error occured. Check log."

Log is at the bottom. As far as I understand it, you check via "md5deep -h" if the program exists. As you can see, the command does the correct stdout, so why is there an error?

Things I would change:

  • Check if md5deep exists with which md5deep, the default linux method to determine the used binary
  • Why use md5deep at all? This is no default system package, try use md5sum

Log:

[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - --------------------ACTION: GENERATE MD5 CHECKSUMS--------------------
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - md5deep version 4.2 by Jesse Kornblum and Simson Garfinkel.
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - $ md5deep [OPTION]... [FILES]...
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - See the man page or README.txt file or use -hh for the full list of options
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -p <size> - piecewise mode. Files are broken into blocks for hashing
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -r        - recursive mode. All subdirectories are traversed
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -e        - show estimated time remaining for each file
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -s        - silent mode. Suppress all error messages
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -z        - display file size before hash
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -m <file> - enables matching mode. See README/man page
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -x <file> - enables negative matching mode. See README/man page
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -M and -X are the same as -m and -x but also print hashes of each file
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -w        - displays which known file generated a match
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -n        - displays known hashes that did not match any input files
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -a and -A add a single hash to the positive or negative matching set
[2016-07-27 11:33:46 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -b        - prints only the bare name of files; all path information is omitted
[2016-07-27 11:33:47 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -l        - print relative paths for filenames
[2016-07-27 11:33:47 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -t        - print GMT timestamp (ctime)
[2016-07-27 11:33:47 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -i/I <size> - only process files smaller/larger than SIZE
[2016-07-27 11:33:47 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -v        - display version number and exit
[2016-07-27 11:33:47 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -d        - output in DFXML; -u - Escape Unicode; -W FILE - write to FILE.
[2016-07-27 11:33:47 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -j <num>  - use num threads (default 4)
[2016-07-27 11:33:47 AM] - oPB.core.processing.OpsiProcessing            -      SSH - -Z - triage mode;   -h - help;   -hh - full help
[2016-07-27 11:33:47 AM] - oPB.core.processing.OpsiProcessing            -    ERROR - -s        - silent mode. Suppress all error messages
[2016-07-27 11:35:11 AM] - oPB.core.processing.OpsiProcessing            -      SSH - --------------------ACTION: GET REPOSITORY CONTENT--------------------

Error while packing meta packet

Hi,

during the first attempt after creating a new meta bundle or bundle in general, the button "Packen" lead to the following error:

`-------------------------------------------------------------------------------
2018-10-16, 14:31:32

<class 'spur.errors.CouldNotChangeDirectoryError'>:
Could not change directory to: /home/opsiproductstestmeta
Original error: b'bash: line 0: cd: /home/opsiproductstestmeta: No such file or directory\n\n'

File "oPB\controller\main.py", line 503, in project_build
File "oPB\controller\base.py", line 300, in do_build
File "oPB\controller\base.py", line 210, in _do
File "oPB\core\processing.py", line 188, in run
File "oPB\core\processing.py", line 955, in _processAction
File "site-packages\spur\ssh.py", line 166, in run
File "site-packages\spur\ssh.py", line 198, in spawn
8.3.2`

As you can see, the path is not built correctly. There is missing / after opsiproducts>/<testmeta

When you reopen the package and try to pack it afterwards, everthing works fine.

Opsi 4.0.7.67
Win7x64

Cheers,
Chris

Product properties editing: Changes lost if not confirmed

Hi,

editing product properties is annoying: Changes have to be confirmed via button "Übernehmen". Often I forget that and click only on the button "Save". Maybe this behavior can be changed to an more convinced way.

But all in all the software is very nice.

Cheers,
Stefan

Netboot support: Ignore control variables

Hi,

seems that there is no support of netboot packages in OpsiPackageBuilder. For now it would be sufficient if control options like pxeConfigTemplate would be ignored. But they will be removed instead by OpsiPackageBuilder.

Best,
Stefan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.