hammy275 / hamstall Goto Github PK
View Code? Open in Web Editor NEWA package manager for managing archives (.zip, .tar.gz, .7z, .rar, and .tar.xz)
License: GNU General Public License v3.0
A package manager for managing archives (.zip, .tar.gz, .7z, .rar, and .tar.xz)
License: GNU General Public License v3.0
Needs to be updated to the new system
hamstall configuration should show what each setting is already set to and give feedback when settings are changed.
Programs such as Teeworlds when installed with this fail to launch when installed because we aren't in its directory. This most likely applies to other programs and will most likely be fixed by changing directories into the program directory before running it.
Update the README, wiki, and description to reflect hamstall at the release date.
The current unit test are incomplete and don't test many code paths. They need to be more thorough. Unit tests should also be isolated from each other instead of depending on the previous one succeeding.
Until the program is uninstalled, it should be added to PATH so people can access it without specifying its location.
The current database system is genuinely terrible; it needs to be reworked.
There may be some code in there from over half a year ago. I couldn't code as well back then, so that old code should probably be cleaned up.
Requests, along with any other additional programs optional for installation, with the downside of not being able to use the functions associated with that requirement.
README needs a better hook and the Wiki needs to be updated for all of the new features added in 1.1
I forgot to implement the removal of .desktop files. This should be supported.
There also needs to be a check to make sure we don't overwrite .desktop files that already exist.
Manual testing still needs to be done before 1.1 is rolled out. With the new database update out, things may still be broken. Upgrading from file_version 1 to 2 also still needs to be tested, and may be in a broken state at the moment due to a complete lack of testing in that area.
hamstall relies off of .bashrc to store PATH/binlink information and to configure the hamstall alias. This needs to be adjusted for people using zsh as their interpreter instead of bash.
Make an option (disabled by default) where hamstall will check to see if it can be updated. If it can, check with the user if we should update.
The config file is still being created. This needs to stop, and the unit tests need to be adjusted accordingly.
Get a system in place for when we need to deal with a system managed with an older version of hamstall.
As per a suggestion on Reddit, separate the program into multiple different files and clean up the code. Should be completed before progress is made on 1.1
Allow users to run a command inside the directory of a program. May be useful for people who want to "install" git repos or other sources of source code.
Only check verbosity once per program run then reference the result so we don't have to constantly open and close the verbosity file multiple times.
Whether in the file name or file path, it will not install.
Add support for directories and .zip files
Allow updating of a package where changes are merged in with the package instead of removing and reinstalling it
Keep a lock file so hamstall doesn't do things when it's already performing an operation.
.desktop files should be created upon installation of a program (optionally of course), and should be addable/removable with --manage.
Users are prompted to CTRL+C when creating .desktop's and binlinks to exit the creation wizard. This needs to be changed because of the lock system.
hamstall should check to see that it can access rsync before running commands with it.
Users should be able to rename an installed program. From there, hamstall should update PATH (if needed), any binlinks, and any .desktop files accordingly.
Have an option in --manage to jump to the program's directory.
Support for .7z archives.
A couple unit tests broke from the past couple updates. They need to be fixed to adjust for the new .desktop naming scheme and for the new config system.
Although I haven't tested this yet, odds are if you have two programs (say asdf and qwertyuiopasdfghjklzxcvbnm), removing asdf will also remove qwertyuiopasdfghjklzxcvbnm.
No features will be added before the release of 1.0.0 unless critically necessary. Only bug testing will take place.
When uninstalling hamstall, it doesn't remove programs installed through hamstall from PATH.
Verbosity file was a short term thing so I had something in place. However long term, this needs to be replaced with a config file.
Support for extracting .rar archives.
Right now, changing branches from beta to master doesn't do anything to make sure hamstall still works. This needs to be changed. Maybe run prog_manage.erase(), then get the hamstall files and re-install? The system just needs to continue working, not keep programs.
Make a simple GUI frontend for hamstall. It will be separate from hamstall.py. It should call hamstall.py directly instead of doing things itself will probably end up being a GUI rewrite of hamstall.py. Anything that asks for input (such as the binlink/PATH check) will have to be moved to hamstall.py so the GUI can handle that process separately.
Allow users to install remote Git repositories as programs. Probably won't be used often but still.
With the lock system, we need to catch a ton more errors so hamstall doesn't crash as often as it probably will on 1.1's release.
Allow users to add/remove from PATH and add/remove "binlinks" after installing a program
The docstrings are pretty bad (for the functions that even have them). They need to be updated.
Currently there are no checks during hamstall removal if it isn't already installed in the first place.
version file needs to be copied to ~/.hamstall with the Python executable in first time setup.
Make sure we're updating the right hamstall.py when updating. Instead of updating the copy at ~/.hamstall/hamstall.py we should update whichever hamstall.py we're running.
Should significantly increase the rate at which I can get updates out and hopefully help me focus on hamstall.
Things such as going to a program directory, icons, etc. are going to be added in 1.2. The goal with .desktop in 1.1 is to get the feature out.
If you're prompted to setup hamstall for the first time and type "n", hamstall will complain that it couldn't save the database.
Will be done for 1.0.0 due to fixing a bug which may affect users' bashrc files
Allow hamstall to be updated through a command.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.