Subversion Repositories SvarDOS

Rev

Rev 1803 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1803 Rev 1804
1
<h1>SvarDOS repository</h1>
1
<h1>SvarDOS repository</h1>
2
<p class="copyr">"the world of packages"</p>
2
<p class="copyr">"the world of packages"</p>
3
 
3
 
4
<p>This page lists all packages that are available in the SvarDOS repository. These packages can be downloaded from within SvarDOS using the pkgnet tool, or you can download them from here.</p>
4
<p>This page lists all packages that are available in the SvarDOS repository. These packages can be downloaded from within SvarDOS using the pkgnet tool, or you can download them from here.</p>
5
 
5
 
6
<p>You may also download a CD ISO image that contains the latest version of each package: <a href="repo/sv-repo.iso">SV-REPO.ISO</a> (<?php echo intval(filesize('repo/sv-repo.iso') / 1024 / 1024); ?>M, <a href="repo/sv-repo.iso.md5">md5</a>)</p>
6
<p>You may also download a CD ISO image that contains the latest version of each package: <a href="repo/sv-repo.iso">SV-REPO.ISO</a> (<?php echo intval(filesize('repo/sv-repo.iso') / 1024 / 1024); ?>M, <a href="repo/sv-repo.iso.md5">md5</a>)</p>
7
 
7
 
8
<!-- <p>If you wish to receive notifications about new or updated packages, you may subscribe to the <a href="http://svn.svardos.org/rss.php?repname=SvarDOS&path=%2Fpackages%2F">SvarDOS Packages RSS feed</a>.</p>-->
8
<p>If you wish to receive notifications about new or updated packages, you may subscribe to the <a href="http://svn.svardos.org/rss.php?repname=SvarDOS%20Packages&amp;path=%2F&amp;isdir=1">SvarDOS Packages RSS feed</a>.</p>
9
 
9
 
10
<?php
10
<?php
11
  // load the category list
11
  // load the category list
12
  $cats = json_decode(file_get_contents('../packages/_cats.json'), true);
12
  $cats = json_decode(file_get_contents('../packages/_cats.json'), true);
13
  sort($cats);
13
  sort($cats);
14
 
14
 
15
  $catfilter = '';
15
  $catfilter = '';
16
  if (!empty($_GET['cat'])) $catfilter = strtolower($_GET['cat']);
16
  if (!empty($_GET['cat'])) $catfilter = strtolower($_GET['cat']);
17
 
17
 
18
  // hw filter?
18
  // hw filter?
19
  $hw = array();
19
  $hw = array();
20
  if (!empty($_GET['hwcpu'])) $hw[] = strtolower($_GET['hwcpu']);
20
  if (!empty($_GET['hwcpu'])) $hw[] = strtolower($_GET['hwcpu']);
21
  if (!empty($_GET['hwvid'])) $hw[] = strtolower($_GET['hwvid']);
21
  if (!empty($_GET['hwvid'])) $hw[] = strtolower($_GET['hwvid']);
22
  if ((!empty($_GET['fpu'])) && ($_GET['fpu'] == 'yes')) $hw[] = 'fpu';
22
  if ((!empty($_GET['fpu'])) && ($_GET['fpu'] == 'yes')) $hw[] = 'fpu';
23
 
23
 
24
  // view mode (0=simple 1=full)
24
  // view mode (0=simple 1=full)
25
  $view = 0;
25
  $view = 0;
26
  if (!empty($_GET['view'])) $view = intval($_GET['view']);
26
  if (!empty($_GET['view'])) $view = intval($_GET['view']);
27
?>
27
?>
28
 
28
 
29
<form action="?" method="get">
29
<form action="?" method="get">
30
<br>
30
<br>
31
<p>Filters:<br>
31
<p>Filters:<br>
32
<input type="hidden" name="p" value="repo">
32
<input type="hidden" name="p" value="repo">
33
 
33
 
34
Target hardware:
34
Target hardware:
35
 
35
 
36
<select name="hwcpu">
36
<select name="hwcpu">
37
 
37
 
38
<?php
38
<?php
39
  // build form with list of CPUs + preselect the current CPU (if any)
39
  // build form with list of CPUs + preselect the current CPU (if any)
40
  $cpus = array('586', '486', '386', '286', '186', '8086');
40
  $cpus = array('586', '486', '386', '286', '186', '8086');
41
  foreach ($cpus as $cpu) {
41
  foreach ($cpus as $cpu) {
42
    $sel = '';
42
    $sel = '';
43
    if (array_search($cpu, $hw) !== false) $sel = ' selected';
43
    if (array_search($cpu, $hw) !== false) $sel = ' selected';
44
    echo "<option{$sel}>{$cpu}</option>\n";
44
    echo "<option{$sel}>{$cpu}</option>\n";
45
  }
45
  }
46
?>
46
?>
47
</select>
47
</select>
48
 
48
 
49
<select name="hwfpu">
49
<select name="hwfpu">
50
<?php
50
<?php
51
if (empty($_GET['hwfpu'])) {
51
if (empty($_GET['hwfpu'])) {
52
  echo "<option selected value=\"\">no FPU</option>\n";
52
  echo "<option selected value=\"\">no FPU</option>\n";
53
  echo "<option>FPU</option>\n";
53
  echo "<option>FPU</option>\n";
54
} else {
54
} else {
55
  echo "<option value=\"\">no FPU</option>\n";
55
  echo "<option value=\"\">no FPU</option>\n";
56
  echo "<option selected>FPU</option>\n";
56
  echo "<option selected>FPU</option>\n";
57
}
57
}
58
?>
58
?>
59
</select>
59
</select>
60
 
60
 
61
<select name="hwvid">
61
<select name="hwvid">
62
<?php
62
<?php
63
  // build form with list of graphic cards + preselect the current card (if any)
63
  // build form with list of graphic cards + preselect the current card (if any)
64
  $vids = array('SVGA', 'VGA', 'MCGA', 'EGA', 'CGA', 'MDA');
64
  $vids = array('SVGA', 'VGA', 'MCGA', 'EGA', 'CGA', 'MDA');
65
  foreach ($vids as $v) {
65
  foreach ($vids as $v) {
66
    $sel = '';
66
    $sel = '';
67
    if (array_search(strtolower($v), $hw) !== false) $sel = ' selected';
67
    if (array_search(strtolower($v), $hw) !== false) $sel = ' selected';
68
    echo "<option{$sel}>{$v}</option>\n";
68
    echo "<option{$sel}>{$v}</option>\n";
69
  }
69
  }
70
?>
70
?>
71
</select>
71
</select>
72
 
72
 
73
<br>
73
<br>
74
 
74
 
75
Category:
75
Category:
76
<select name="cat">
76
<select name="cat">
77
  <option value="">ALL</option>
77
  <option value="">ALL</option>
78
<?php
78
<?php
79
  foreach ($cats as $c) {
79
  foreach ($cats as $c) {
80
    $sel = '';
80
    $sel = '';
81
    if ($c == $catfilter) $sel = ' selected';
81
    if ($c == $catfilter) $sel = ' selected';
82
    echo '  <option value="' . $c . "\"{$sel}>" . $c . "</option>\n";
82
    echo '  <option value="' . $c . "\"{$sel}>" . $c . "</option>\n";
83
  }
83
  }
84
?>
84
?>
85
</select>
85
</select>
86
 
86
 
87
<input type="submit" value="apply">
87
<input type="submit" value="apply">
88
</p>
88
</p>
89
</form>
89
</form>
90
 
90
 
91
 
91
 
92
<?php
92
<?php
93
 
93
 
94
// add all supported subsets of hardware (eg. VGA supports MDA, EGA and CGA modes)
94
// add all supported subsets of hardware (eg. VGA supports MDA, EGA and CGA modes)
95
foreach ($hw as $h) {
95
foreach ($hw as $h) {
96
 
96
 
97
  // add all supported CPUs
97
  // add all supported CPUs
98
  if ($h == '586') {
98
  if ($h == '586') {
99
    $hw[] = '8086';
99
    $hw[] = '8086';
100
    $hw[] = '186';
100
    $hw[] = '186';
101
    $hw[] = '286';
101
    $hw[] = '286';
102
    $hw[] = '386';
102
    $hw[] = '386';
103
    $hw[] = '486';
103
    $hw[] = '486';
104
  }
104
  }
105
  if ($h == '486') {
105
  if ($h == '486') {
106
    $hw[] = '8086';
106
    $hw[] = '8086';
107
    $hw[] = '186';
107
    $hw[] = '186';
108
    $hw[] = '286';
108
    $hw[] = '286';
109
    $hw[] = '386';
109
    $hw[] = '386';
110
  }
110
  }
111
  if ($h == '386') {
111
  if ($h == '386') {
112
    $hw[] = '8086';
112
    $hw[] = '8086';
113
    $hw[] = '186';
113
    $hw[] = '186';
114
    $hw[] = '286';
114
    $hw[] = '286';
115
  }
115
  }
116
  if ($h == '286') {
116
  if ($h == '286') {
117
    $hw[] = '8086';
117
    $hw[] = '8086';
118
    $hw[] = '186';
118
    $hw[] = '186';
119
  }
119
  }
120
  if ($h == '186') {
120
  if ($h == '186') {
121
    $hw[] = '8086';
121
    $hw[] = '8086';
122
  }
122
  }
123
 
123
 
124
  // add all supported graphic
124
  // add all supported graphic
125
  if ($h == 'svga') {
125
  if ($h == 'svga') {
126
    $hw[] = 'vga';
126
    $hw[] = 'vga';
127
    $hw[] = 'ega';
127
    $hw[] = 'ega';
128
    $hw[] = 'cga';
128
    $hw[] = 'cga';
129
    $hw[] = 'mda';
129
    $hw[] = 'mda';
130
  }
130
  }
131
  if ($h == 'vga') {
131
  if ($h == 'vga') {
132
    $hw[] = 'mcga';
132
    $hw[] = 'mcga';
133
    $hw[] = 'ega';
133
    $hw[] = 'ega';
134
    $hw[] = 'cga';
134
    $hw[] = 'cga';
135
    $hw[] = 'mda';
135
    $hw[] = 'mda';
136
  }
136
  }
137
  if ($h == 'mcga') {
137
  if ($h == 'mcga') {
138
    $hw[] = 'ega';
138
    $hw[] = 'ega';
139
    $hw[] = 'cga';
139
    $hw[] = 'cga';
140
    $hw[] = 'mda';
140
    $hw[] = 'mda';
141
  }
141
  }
142
  if ($h == 'ega') {
142
  if ($h == 'ega') {
143
    $hw[] = 'cga';
143
    $hw[] = 'cga';
144
    $hw[] = 'mda';
144
    $hw[] = 'mda';
145
  }
145
  }
146
  if ($h == 'cga') {
146
  if ($h == 'cga') {
147
    $hw[] = 'mda';
147
    $hw[] = 'mda';
148
  }
148
  }
149
}
149
}
150
 
150
 
151
 
151
 
152
$db = json_decode(file_get_contents('../packages/_index.json'), true);
152
$db = json_decode(file_get_contents('../packages/_index.json'), true);
153
 
153
 
154
echo "<table style=\"width: 100%;\">\n";
154
echo "<table style=\"width: 100%;\">\n";
155
 
155
 
156
echo "<thead><tr><th>PACKAGE</th><th>VERSION</th><th>DESCRIPTION</th></tr></thead>\n";
156
echo "<thead><tr><th>PACKAGE</th><th>VERSION</th><th>DESCRIPTION</th></tr></thead>\n";
157
 
157
 
158
foreach ($db as $pkg => $meta) {
158
foreach ($db as $pkg => $meta) {
159
 
159
 
160
  if ((!empty($catfilter)) && (array_search($catfilter, $meta['cats']) === false)) continue;
160
  if ((!empty($catfilter)) && (array_search($catfilter, $meta['cats']) === false)) continue;
161
 
161
 
162
  $desc = htmlspecialchars($meta['desc']);
162
  $desc = htmlspecialchars($meta['desc']);
163
  check_next_ver:
163
  check_next_ver:
164
  $pref = array_shift($meta['versions']); // get first version (that's the preferred one)
164
  $pref = array_shift($meta['versions']); // get first version (that's the preferred one)
165
  if (empty($pref)) continue; // no more versions
165
  if (empty($pref)) continue; // no more versions
166
  $hwhint = '';
166
  $hwhint = '';
167
  if (!empty($pref['hwreq'])) {
167
  if (!empty($pref['hwreq'])) {
168
    $hwhint = ' title="' . htmlspecialchars(strtoupper(implode(', ', $pref['hwreq']))) . '"';
168
    $hwhint = ' title="' . htmlspecialchars(strtoupper(implode(', ', $pref['hwreq']))) . '"';
169
 
169
 
170
    /* if hw filter present, make sure it fullfills package's requirements */
170
    /* if hw filter present, make sure it fullfills package's requirements */
171
    if (!empty($hw)) {
171
    if (!empty($hw)) {
172
      foreach ($pref['hwreq'] as $req) {
172
      foreach ($pref['hwreq'] as $req) {
173
        if (array_search($req, $hw, true) === false) goto check_next_ver;
173
        if (array_search($req, $hw, true) === false) goto check_next_ver;
174
      }
174
      }
175
    }
175
    }
176
  }
176
  }
177
  $ver = $pref['ver'];
177
  $ver = $pref['ver'];
178
  $bsum = $pref['bsum'];
178
  $bsum = $pref['bsum'];
179
 
179
 
180
  if ($view === 0) {
180
  if ($view === 0) {
181
    echo "<tr><td><a{$hwhint} href=\"repo/?a=pull&amp;p={$pkg}\">{$pkg}</a></td><td>{$ver}</td><td>{$desc}</td></tr>\n";
181
    echo "<tr><td><a{$hwhint} href=\"repo/?a=pull&amp;p={$pkg}\">{$pkg}</a></td><td>{$ver}</td><td>{$desc}</td></tr>\n";
182
  } else {
182
  } else {
183
    $link = '';
183
    $link = '';
184
    if (!empty($meta['url'])) $link = '<span class="extrainfo"><br><a href="' . htmlspecialchars($meta['url']) . '">' . htmlspecialchars($meta['url']) . '</a></span>';
184
    if (!empty($meta['url'])) $link = '<span class="extrainfo"><br><a href="' . htmlspecialchars($meta['url']) . '">' . htmlspecialchars($meta['url']) . '</a></span>';
185
    echo "<tr><td><a{$hwhint} href=\"repo/?a=pull&amp;p={$pkg}\">{$pkg}</a><span class=\"extrainfo\"><br>";
185
    echo "<tr><td><a{$hwhint} href=\"repo/?a=pull&amp;p={$pkg}\">{$pkg}</a><span class=\"extrainfo\"><br>";
186
    echo htmlspecialchars(implode(', ', $meta['cats']));
186
    foreach ($meta['cats'] as $c) {
-
 
187
      echo '<a href="?p=repo&amp;cat=' . urlencode($c) . '&amp;view=1">' . htmlspecialchars($c) . '</a>';
-
 
188
    }
187
    echo "</span></td><td>{$ver}</td><td>{$desc}{$link}</td></tr>\n";
189
    echo "</span></td><td>{$ver}</td><td>{$desc}{$link}</td></tr>\n";
188
  }
190
  }
189
}
191
}
190
echo "</table>\n";
192
echo "</table>\n";
191
 
193
 
192
$errs = trim(file_get_contents('../packages/_buildidx.log'));
194
$errs = trim(file_get_contents('../packages/_buildidx.log'));
193
if (!empty($errs)) echo '<p style="color: #f00; font-weigth: bold;">Note to SvarDOS packagers: inconsistencies have been detected in the repository, please <a href="?p=repo&amp;showlogs=1#logs">review them</a>.</p>';
195
if (!empty($errs)) echo '<p style="color: #f00; font-weigth: bold;">Note to SvarDOS packagers: inconsistencies have been detected in the repository, please <a href="?p=repo&amp;showlogs=1#logs">review them</a>.</p>';
194
 
196
 
195
if ($_GET['showlogs'] == 1) {
197
if ($_GET['showlogs'] == 1) {
196
  echo "<p style=\"font-size: 0.8em;\"><a name=\"logs\">DEBUG REPO BUILD LOGS</a>:<br>\n";
198
  echo "<p style=\"font-size: 0.8em;\"><a name=\"logs\">DEBUG REPO BUILD LOGS</a>:<br>\n";
197
  if (empty($errs)) {
199
  if (empty($errs)) {
198
    echo "no buildidx errors to display\n";
200
    echo "no buildidx errors to display\n";
199
  } else {
201
  } else {
200
    echo nl2br(htmlentities($errs));
202
    echo nl2br(htmlentities($errs));
201
  }
203
  }
202
  echo "</p>\n";
204
  echo "</p>\n";
203
}
205
}
204
 
206
 
205
?>
207
?>
206
 
208