Subversion Repositories SvarDOS

Rev

Rev 1699 | Rev 1701 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1699 Rev 1700
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> (<a href="repo/sv-repo.iso.md45">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&path=%2Fpackages%2F">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
?>
24
?>
25
 
25
 
26
<form action="?" method="get">
26
<form action="?" method="get">
27
<br>
27
<br>
28
<p>Filters:<br>
28
<p>Filters:<br>
29
<input type="hidden" name="p" value="repo">
29
<input type="hidden" name="p" value="repo">
30
 
30
 
31
Target hardware:
31
Target hardware:
32
 
32
 
33
<select name="hwcpu">
33
<select name="hwcpu">
34
 
34
 
35
<?php
35
<?php
36
  // build form with list of CPUs + preselect the current CPU (if any)
36
  // build form with list of CPUs + preselect the current CPU (if any)
37
  $cpus = array('586', '486', '386', '286', '186', '8086');
37
  $cpus = array('586', '486', '386', '286', '186', '8086');
38
  foreach ($cpus as $cpu) {
38
  foreach ($cpus as $cpu) {
39
    $sel = '';
39
    $sel = '';
40
    if (array_search($cpu, $hw) !== false) $sel = ' selected';
40
    if (array_search($cpu, $hw) !== false) $sel = ' selected';
41
    echo "<option{$sel}>{$cpu}</option>\n";
41
    echo "<option{$sel}>{$cpu}</option>\n";
42
  }
42
  }
43
?>
43
?>
44
</select>
44
</select>
45
 
45
 
46
<select name="hwfpu">
46
<select name="hwfpu">
47
<?php
47
<?php
48
if (empty($_GET['hwfpu'])) {
48
if (empty($_GET['hwfpu'])) {
49
  echo "<option selected value=\"\">no FPU</option>\n";
49
  echo "<option selected value=\"\">no FPU</option>\n";
50
  echo "<option>FPU</option>\n";
50
  echo "<option>FPU</option>\n";
51
} else {
51
} else {
52
  echo "<option value=\"\">no FPU</option>\n";
52
  echo "<option value=\"\">no FPU</option>\n";
53
  echo "<option selected>FPU</option>\n";
53
  echo "<option selected>FPU</option>\n";
54
}
54
}
55
?>
55
?>
56
</select>
56
</select>
57
 
57
 
58
<select name="hwvid">
58
<select name="hwvid">
59
<?php
59
<?php
60
  // build form with list of graphic cards + preselect the current card (if any)
60
  // build form with list of graphic cards + preselect the current card (if any)
61
  $vids = array('SVGA', 'VGA', 'MCGA', 'EGA', 'CGA', 'MDA');
61
  $vids = array('SVGA', 'VGA', 'MCGA', 'EGA', 'CGA', 'MDA');
62
  foreach ($vids as $v) {
62
  foreach ($vids as $v) {
63
    $sel = '';
63
    $sel = '';
64
    if (array_search(strtolower($v), $hw) !== false) $sel = ' selected';
64
    if (array_search(strtolower($v), $hw) !== false) $sel = ' selected';
65
    echo "<option{$sel}>{$v}</option>\n";
65
    echo "<option{$sel}>{$v}</option>\n";
66
  }
66
  }
67
?>
67
?>
68
</select>
68
</select>
69
 
69
 
70
<br>
70
<br>
71
 
71
 
72
Category:
72
Category:
73
<select name="cat">
73
<select name="cat">
74
  <option value="">ALL</option>
74
  <option value="">ALL</option>
75
<?php
75
<?php
76
  foreach ($cats as $c) {
76
  foreach ($cats as $c) {
77
    $sel = '';
77
    $sel = '';
78
    if ($c == $catfilter) $sel = ' selected';
78
    if ($c == $catfilter) $sel = ' selected';
79
    echo '  <option value="' . $c . "\"{$sel}>" . $c . "</option>\n";
79
    echo '  <option value="' . $c . "\"{$sel}>" . $c . "</option>\n";
80
  }
80
  }
81
?>
81
?>
82
</select>
82
</select>
83
 
83
 
84
<input type="submit" value="apply">
84
<input type="submit" value="apply">
85
</p>
85
</p>
86
</form>
86
</form>
87
 
87
 
88
 
88
 
89
<?php
89
<?php
90
 
90
 
91
// add all supported subsets of hardware (eg. VGA supports MDA, EGA and CGA modes)
91
// add all supported subsets of hardware (eg. VGA supports MDA, EGA and CGA modes)
92
foreach ($hw as $h) {
92
foreach ($hw as $h) {
93
 
93
 
94
  // add all supported CPUs
94
  // add all supported CPUs
95
  if ($h == '586') {
95
  if ($h == '586') {
96
    $hw[] = '8086';
96
    $hw[] = '8086';
97
    $hw[] = '186';
97
    $hw[] = '186';
98
    $hw[] = '286';
98
    $hw[] = '286';
99
    $hw[] = '386';
99
    $hw[] = '386';
100
    $hw[] = '486';
100
    $hw[] = '486';
101
  }
101
  }
102
  if ($h == '486') {
102
  if ($h == '486') {
103
    $hw[] = '8086';
103
    $hw[] = '8086';
104
    $hw[] = '186';
104
    $hw[] = '186';
105
    $hw[] = '286';
105
    $hw[] = '286';
106
    $hw[] = '386';
106
    $hw[] = '386';
107
  }
107
  }
108
  if ($h == '386') {
108
  if ($h == '386') {
109
    $hw[] = '8086';
109
    $hw[] = '8086';
110
    $hw[] = '186';
110
    $hw[] = '186';
111
    $hw[] = '286';
111
    $hw[] = '286';
112
  }
112
  }
113
  if ($h == '286') {
113
  if ($h == '286') {
114
    $hw[] = '8086';
114
    $hw[] = '8086';
115
    $hw[] = '186';
115
    $hw[] = '186';
116
  }
116
  }
117
  if ($h == '186') {
117
  if ($h == '186') {
118
    $hw[] = '8086';
118
    $hw[] = '8086';
119
  }
119
  }
120
 
120
 
121
  // add all supported graphic
121
  // add all supported graphic
122
  if ($h == 'svga') {
122
  if ($h == 'svga') {
123
    $hw[] = 'vga';
123
    $hw[] = 'vga';
124
    $hw[] = 'ega';
124
    $hw[] = 'ega';
125
    $hw[] = 'cga';
125
    $hw[] = 'cga';
126
    $hw[] = 'mda';
126
    $hw[] = 'mda';
127
  }
127
  }
128
  if ($h == 'vga') {
128
  if ($h == 'vga') {
129
    $hw[] = 'mcga';
129
    $hw[] = 'mcga';
130
    $hw[] = 'ega';
130
    $hw[] = 'ega';
131
    $hw[] = 'cga';
131
    $hw[] = 'cga';
132
    $hw[] = 'mda';
132
    $hw[] = 'mda';
133
  }
133
  }
134
  if ($h == 'mcga') {
134
  if ($h == 'mcga') {
135
    $hw[] = 'ega';
135
    $hw[] = 'ega';
136
    $hw[] = 'cga';
136
    $hw[] = 'cga';
137
    $hw[] = 'mda';
137
    $hw[] = 'mda';
138
  }
138
  }
139
  if ($h == 'ega') {
139
  if ($h == 'ega') {
140
    $hw[] = 'cga';
140
    $hw[] = 'cga';
141
    $hw[] = 'mda';
141
    $hw[] = 'mda';
142
  }
142
  }
143
  if ($h == 'cga') {
143
  if ($h == 'cga') {
144
    $hw[] = 'mda';
144
    $hw[] = 'mda';
145
  }
145
  }
146
}
146
}
147
 
147
 
148
 
148
 
149
$db = json_decode(file_get_contents('../packages/_index.json'), true);
149
$db = json_decode(file_get_contents('../packages/_index.json'), true);
150
 
150
 
151
echo "<table style=\"width: 100%;\">\n";
151
echo "<table style=\"width: 100%;\">\n";
152
 
152
 
153
echo "<thead><tr><th>PACKAGE</th><th>VERSION</th><th>DESCRIPTION</th></tr></thead>\n";
153
echo "<thead><tr><th>PACKAGE</th><th>VERSION</th><th>DESCRIPTION</th></tr></thead>\n";
154
 
154
 
155
foreach ($db as $pkg => $meta) {
155
foreach ($db as $pkg => $meta) {
156
 
156
 
157
  if ((!empty($catfilter)) && (array_search($catfilter, $meta['cats']) === false)) continue;
157
  if ((!empty($catfilter)) && (array_search($catfilter, $meta['cats']) === false)) continue;
158
 
158
 
159
  $desc = $meta['desc'];
159
  $desc = $meta['desc'];
160
  check_next_ver:
160
  check_next_ver:
161
  $pref = array_shift($meta['versions']); // get first version (that's the preferred one)
161
  $pref = array_shift($meta['versions']); // get first version (that's the preferred one)
162
  if (empty($pref)) continue; // no more versions
162
  if (empty($pref)) continue; // no more versions
163
  $hwhint = '';
163
  $hwhint = '';
164
  if (!empty($pref['hwreq'])) {
164
  if (!empty($pref['hwreq'])) {
165
    $hwhint = ' title="' . htmlspecialchars(strtoupper(implode(', ', $pref['hwreq']))) . '"';
165
    $hwhint = ' title="' . htmlspecialchars(strtoupper(implode(', ', $pref['hwreq']))) . '"';
166
 
166
 
167
    /* if hw filter present, make sure it fullfills package's requirements */
167
    /* if hw filter present, make sure it fullfills package's requirements */
168
    if (!empty($hw)) {
168
    if (!empty($hw)) {
169
      foreach ($pref['hwreq'] as $req) {
169
      foreach ($pref['hwreq'] as $req) {
170
        if (array_search($req, $hw, true) === false) goto check_next_ver;
170
        if (array_search($req, $hw, true) === false) goto check_next_ver;
171
      }
171
      }
172
    }
172
    }
173
  }
173
  }
174
  $ver = $pref['ver'];
174
  $ver = $pref['ver'];
175
  $bsum = $pref['bsum'];
175
  $bsum = $pref['bsum'];
176
 
176
 
177
  echo "<tr><td><a{$hwhint} href=\"repo/?a=pull&amp;p={$pkg}\">{$pkg}</a></td><td>{$ver}</td><td>{$desc}</td></tr>\n";
177
  echo "<tr><td><a{$hwhint} href=\"repo/?a=pull&amp;p={$pkg}\">{$pkg}</a></td><td>{$ver}</td><td>{$desc}</td></tr>\n";
178
}
178
}
179
echo "</table>\n";
179
echo "</table>\n";
180
 
180
 
181
$errs = trim(file_get_contents('../packages/_buildidx.log'));
181
$errs = trim(file_get_contents('../packages/_buildidx.log'));
182
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>';
182
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>';
183
 
183
 
184
if ($_GET['showlogs'] == 1) {
184
if ($_GET['showlogs'] == 1) {
185
  echo "<p style=\"font-size: 0.8em;\"><a name=\"logs\">DEBUG REPO BUILD LOGS</a>:<br>\n";
185
  echo "<p style=\"font-size: 0.8em;\"><a name=\"logs\">DEBUG REPO BUILD LOGS</a>:<br>\n";
186
  if (empty($errs)) {
186
  if (empty($errs)) {
187
    echo "no buildidx errors to display\n";
187
    echo "no buildidx errors to display\n";
188
  } else {
188
  } else {
189
    echo nl2br(htmlentities($errs));
189
    echo nl2br(htmlentities($errs));
190
  }
190
  }
191
  echo "</p>\n";
191
  echo "</p>\n";
192
}
192
}
193
 
193
 
194
?>
194
?>
195
 
195