-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathINSTALL
169 lines (135 loc) · 6.6 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
General Source Install:
$ make
$ sudo make install
After the package is installed, run it once to install
default configuration files into $HOME/.podget, edit
them as needed.
Building and installing a Debian package:
$ cd podget-<version>
$ fakeroot ./debian/rules binary
$ cd ../
$ sudo dpkg -i podget_<version>-all.deb
Mac OSX GNU Dependencies:
Podget requires GNU Date, GNU Stat, GNU Sed, Coreutils (for expr, and tr)
and Bash (at least version 4.4). The easiest way to install them is to use
Homebrew.
For details on how to install and use Homebrew, please visit: https://brew.sh
An updated version of Bash can be installed with: brew install bash
GNU Date can be installed with: brew install gdate
GNU Stat can be installed with: brew install gstat
GNU Sed can be installed with: brew install gnu-sed
And Coreutils can be installed with: brew install coreutils.
Podget looks for the required binaries with a 'g' prefix. This prefix is
added automatically by brew with its default options. The prefix can be
overridden with the brew option '--with-default-names'. However if you do
this, it may be necessary that you add symbolic links from the brew
installed sed to gsed and for the others.
Additionally installing packages with brew may require some changes to the
PATH variable setting described below.
FreeBSD Dependencies and Install:
Podget requires a few things that are not part of a default installation.
As root (or with doas) using 'pkg install' add:
- bash (at least version 4.4)
- wget
- coreutils
- gsed
gmake
- ca_root_nss
NOTE: pkg will be automatically installed the first time you attempt
to use it.
- gnustat
NOTE: When testing with FreeBSD 13.1, gnustat was part of the
coreutils package and so did not require a separate install.
Source Install:
$ gmake
$ doas gmake install OR su root -c 'gmake install'
After the package is installed, run it once to install
default configuration files into $HOME/.podget, edit
them as needed.
NetBSD Dependencies and Install:
Podget requires a few things that are not part of a default installation.
As root (or with doas) using pkgin install:
- bash (at least version 4.4)
- wget
- ca-certificates
- coreutils
- gsed
- gmake
NOTE: After installing ca-certificates, run update-ca-certificates to
manage the set of configured trust anchors for openssl.
Source Install:
$ gmake
$ doas gmake install OR su root -c 'gmake install'
After the package is installed, run it once to install
default configuration files into $HOME/.podget, edit
them as needed.
OpenBSD Dependencies and Install:
Podget requires a few things that are not part of a default installation.
As root (or with doas) using pkg_add install:
- bash (at least version 4.4)
- wget
- coreutils
- gsed
- gmake
Source Install:
$ gmake
$ doas gmake install OR su root -c 'gmake install'
After the package is installed, run it once to install
default configuration files into $HOME/.podget, edit
them as needed.
Microsoft Windows 10+ Installation:
Podget can be run on current installations of Windows by installing Debian
GNU/Linux into the Windows Subsystem for Linux (WSL).
Centralized Notes on how to install Debian within Windows:
https://wiki.debian.org/InstallingDebianOn/Microsoft/Windows/SubsystemForLinux
NOTE: You do not need to follow the 'Advanced Usage' part as Podget is not a
GUI app and will not require that configuration. However you may want to
enable GUI support so you can use simple GUI text editors to modify the
configuration files. If you prefer to do everything in the console then you
may need to learn to use a console text editor like nano, vi, vim or ed
editors (just kidding, probably stay away from ed unless you want a real
challenge).
After Debian is installed, within it you will need to run:
1. sudo apt update
2. sudo apt upgrade
3. sudo apt install podget
Once Podget is installed, the general location for its files can be found in
directory like:
```
C:\Users%username%\AppData\Local\Packages\TheDebianProject.DebianGNULinux_76v4gfsz19hv4\LocalState\rootfs\home\
```
However the string after DebianGNULinux_ may vary on each install.
Crontab Potential Issue:
Occasionally when you install Podget, it will run fine from the shell prompt
but experiences a problem when you attempt to run it as a cron job. When this
happens it may be caused by Podget not being able to find every command
it needs. This can be caused by differences in the PATH variable which
contains a list of directories to search for commands. This list is
delimited by colons and read from left to right so if a command of the same
name exists in two directories, the one you want should be read first.
An example of this happened on MacOS. What we discovered was that for
cronjobs the PATH variable was set to "/usr/bin:/bin" which may be a
sensible default but lacked a few directories we needed. On MacOS, there are
a few applications that can be useful to determine what we need to add to
the PATH variable. Those applications are gexpr, gdate, gsed and gstat. We
can use the which, whereis or find commands to determine where they are on
our system. On the system we were having a problem with, we discovered that
some of these applications were in /opt/local/bin and others were in
/usr/local/bin so we needed to add those directories to our PATH variable
for Podget to work.
So we changed our cronjob from:
15 04 * * * /usr/bin/podget -s
To:
15 04 * * * PATH=/opt/local/bin:/usr/local/bin:$PATH /usr/bin/podget -s
If you wish to see the differences in how PATH is configured:
FOR THE SHELL: Simply run "echo $PATH"
FOR A CRONJOB:
1. Create simple shell script /tmp/test_cron.sh which contains:
#!/usr/bin/env bash
echo "PATH: $PATH"
2. Configure a cronjob to run the script with "crontab -e"
* * * * * /tmp/test_cron.sh > /tmp/test_cron.out
NOTE: This job will run every minute so disable it as soon as
it has run once or twice.
3. Open the file /tmp/test_cron.out in an editor to see how it has
the PATH variable configured.