GoNgetIT is a program written in C++ that allows to automatically download deb packages and their dependencies from an Ubuntu repository. It doesn't need any index files and it should work with most/all versions of Puppy as it only depends on curl.
HOW DOES IT WORK?
Choose a package here.
open a terminal and type gongetit. It will appear a menu with some options that are self-explanatory. When you press option 1- begin you will be prompted to input an address of a package (eg. hardy/editors/zile). Be sure to write the correct address as I have written no sanity check. Keep in mind that Hardy repo is good for puppy 4.x and Wary while Lucid for Lupu.
When you press enter GoNgetIT will start and parse all the links of the dependencies and then download everything.
If you have turned on option 5 the program will turn all the .deb packages into a .pet by using dir2pet.
Packages will be stored in a directory in /root with several txt files used by the program.
If your download is slow you can change the download site by modifying /root/.gongetit/searchtree.txt. Put the repo you prefer in the first place with a text editor.
WHAT IS THE FILTER?
In /root/.gongetit there are some files needed by the program. Among them there's libraries.txt in which there is a list of libraries that are already in Puppy and that should not be downloaded, such as C library and so forth. If you have already some libraries that you don't want to download anymore add them here with a text editor (openGL libraries are already filtered because I assume that you can find them in the official Puppy repo). On the other hand if you leave this file blank all the libraries will be downloaded. This can be useful for repairing an Ubuntu system that is damaged or that cannot connect to the internet for any reasons. In this way Puppy may turn into a rescue tool for Ubuntu Be careful not to delete critical libraries in the filter, though. You might install a package that could disrupt your Puppy installation.
BEWARE
With GoNgetIT several requests in the forum may be fulfilled but keep in mind that GoNgetIT is not a substitute of aptget and Puppy is not Ubuntu. If you download a package and it doesn't work probably you have to manually set things right. GoNgetIT is a powerful tool but not a magic wand.
Don't ask, just GoNgetIT!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
GoNgetIT v.0.2
What's new:
===========
-download deb packages from both the ubuntu and debian repositories.
-command line options.
-stop download when space on disk is less than 15Mb. Continue when free space is available.
- the target directory can be chosen from the command line.
-different way to deal with default options.
Command line:
=============
Command-line options have been added so that you can implement gongetit in a script like this:
Code: Select all
#!/bin/sh
echo "Do you want to download emacs? It's a powerful editor."
read a
if [ $a == "y" ] ; then
gongetit -d lenny/emacs22-gtk
echo "downloading..."
else echo "Maybe next time."
fi
Code: Select all
gongetit -u # menu uses ubuntu repo
gongetit -d # menu uses debian repo
Known issues:
=============
* No verification of both syntax and path is done by the program yet. So, check that the target directory exists and that it ends with a slash (by typing TAB) and that the URLpath does not have one. Example:
gongetit -d -p -s /root/my-documents/tmp/ lenny/games/vectoroids
---------------------------------------------------^^---------------------------^
------------options------------directory---------------URLpath------------
* Be sure to chose the same repo in both option and URLpath. Example:
Code: Select all
gongetit -d lenny/emacs22-gtk # OK
gongetit -u lenny/emacs22-gtk # WRONG: ubuntu path is different (e.g. hardy/editors/emacs22-gtk)
Uninstall programs:
===================
To install a package click on the new pet package generated by the program and uninstall it with the standard Puppy Package Manager.
How to compile
==============
The program is written in C++ so to compile just type:
g++ gongetit-0.2.cpp -o gongetit
**********************************************************************
************************GraphicGoNgetIT*****************************
**********************************************************************
Here we go with another gui for GoNgetIT. I played with tcl/tk and here's the result: GraphicGoNGetit, or GGnG to put it simply.
Basically it's formed by two screens.
1-deb download section (steps 1,2,3)
2-pet making (steps 4,5)
1)Choosing the deb to download.
Go to the package section of the ubuntu or debian website and choose the package that you wish to download. For example packages.ubuntu.com/precise/tk. Copy the part of the URL with the exception of the repo address, so precise/tk.
2)Choosing the directory.
Click on the 'directory' button and choose where you want your package to be downloaded.
3)Go'N'Get IT
Click this button. While the program donloads the packages the button will display in a red colour. The time of the download depends on how the package is big and on your connection speed. When the download is over the button turns green again and the message 'PACKAGE DOWNLOADED' appears in the bottom part of the window. You can look at the log if something went wrong.
4) Turn the debs into a pet package (standard Puppy Linux package).
Click the 'Make Pet' button and it pops up a new window. Choose the directory CONTAINING the deb packages previously downloaded and click the button 'Pet'. You have to answer a number of questions to build the package. At the end of the process, when the button changes from red to green again, close this window.
5) Install the pet package.
Open Rox filer and click on the newly created pet package as usual.
NOTES
=====
* The gui has tcl/tk as a dependency. Racy comes with these packages already installed. But if you don't have tcl/tk installed you can download with gongetit the Precise version, that should work with other recent puppies.
* If you have tcl/tk already installed and the gui doesn't show up, this means that you should create a symlink to your binary with something similar to this:
Code: Select all
ln -s /usr/bin/wish8.5 /usr/bin/wish
* Tested with Racy and Precise puppy.