Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
pve-manager
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
pve-manager
Commits
03d19bdc
Commit
03d19bdc
authored
Jun 19, 2013
by
Dietmar Maurer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
apt: group by Origin
code cleanups
parent
9aac6297
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
22 deletions
+38
-22
APT.pm
PVE/API2/APT.pm
+34
-19
APT.js
www/manager/node/APT.js
+4
-3
No files found.
PVE/API2/APT.pm
View file @
03d19bdc
...
@@ -67,25 +67,32 @@ __PACKAGE__->register_method({
...
@@ -67,25 +67,32 @@ __PACKAGE__->register_method({
return
$res
;
return
$res
;
}});
}});
my
$get_
changelug_url
=
sub
{
my
$get_
pkgfile
=
sub
{
my
(
$
pkgname
,
$info
,
$candidate_ver
)
=
@_
;
my
(
$
veriter
)
=
@_
;
my
$changelog_url
;
foreach
my
$verfile
(
@
{
$veriter
->
{
FileList
}})
{
foreach
my
$verfile
(
@
{
$candidate_ver
->
{
FileList
}})
{
my
$pkgfile
=
$verfile
->
{
File
};
my
$pkgfile
=
$verfile
->
{
File
};
my
$origin
=
$pkgfile
->
{
Origin
};
next
if
!
$pkgfile
->
{
Origin
};
return
$pkgfile
;
}
return
undef
;
};
my
$get_changelog_url
=
sub
{
my
(
$pkgname
,
$info
,
$pkgver
,
$origin
)
=
@_
;
my
$changelog_url
;
my
$base
=
dirname
(
$info
->
{
FileName
});
my
$base
=
dirname
(
$info
->
{
FileName
});
if
(
$origin
&&
$base
)
{
if
(
$origin
&&
$base
)
{
my
$pkgver
=
$candidate_ver
->
{
VerStr
};
$pkgver
=~
s/^\d+://
;
# strip epoch
$pkgver
=~
s/^\d+://
;
# strip epoch
my
$srcpkg
=
$info
->
{
SourcePkg
}
||
$pkgname
;
my
$srcpkg
=
$info
->
{
SourcePkg
}
||
$pkgname
;
if
(
$origin
eq
'
Debian
')
{
if
(
$origin
eq
'
Debian
')
{
$changelog_url
=
"
http://packages.debian.org/changelogs/
$base
/
"
.
$changelog_url
=
"
http://packages.debian.org/changelogs/
$base
/
"
.
"
${srcpkg}
_
$pkgver
/changelog
";
"
${srcpkg}
_
$pkgver
/changelog
";
}
}
last
;
}
}
}
return
$changelog_url
;
return
$changelog_url
;
};
};
...
@@ -95,11 +102,16 @@ my $assemble_pkginfo = sub {
...
@@ -95,11 +102,16 @@ my $assemble_pkginfo = sub {
my
$data
=
{
my
$data
=
{
Package
=>
$info
->
{
Name
},
Package
=>
$info
->
{
Name
},
Title
=>
$info
->
{
ShortDesc
},
Title
=>
$info
->
{
ShortDesc
},
Origin
=>
'
unknown
',
};
};
if
(
my
$changelog_url
=
&
$get_changelug_url
(
$pkgname
,
$info
,
$candidate_ver
))
{
if
(
my
$pkgfile
=
&
$get_pkgfile
(
$candidate_ver
))
{
my
$origin
=
$pkgfile
->
{
Origin
};
$data
->
{
Origin
}
=
$origin
;
if
(
my
$changelog_url
=
&
$get_changelog_url
(
$pkgname
,
$info
,
$candidate_ver
->
{
VerStr
},
$origin
))
{
$data
->
{
ChangeLogUrl
}
=
$changelog_url
;
$data
->
{
ChangeLogUrl
}
=
$changelog_url
;
}
}
}
if
(
my
$desc
=
$info
->
{
LongDesc
})
{
if
(
my
$desc
=
$info
->
{
LongDesc
})
{
$desc
=~
s/^.*\n\s?//
;
# remove first line
$desc
=~
s/^.*\n\s?//
;
# remove first line
...
@@ -345,8 +357,11 @@ __PACKAGE__->register_method({
...
@@ -345,8 +357,11 @@ __PACKAGE__->register_method({
my
$info
=
$pkgrecords
->
lookup
(
$pkgname
);
my
$info
=
$pkgrecords
->
lookup
(
$pkgname
);
my
$url
=
&
$get_changelug_url
(
$pkgname
,
$info
,
$ver
)
||
my
$pkgfile
=
&
$get_pkgfile
(
$ver
);
die
"
changelog for '
${pkgname}
_
$ver
->{VerStr}' not available
\n
";
my
$url
;
die
"
changelog for '
${pkgname}
_
$ver
->{VerStr}' not available
\n
"
if
!
(
$pkgfile
&&
(
$url
=
&
$get_changelog_url
(
$pkgname
,
$info
,
$ver
->
{
VerStr
},
$pkgfile
->
{
Origin
})));
my
$data
=
"";
my
$data
=
"";
...
...
www/manager/node/APT.js
View file @
03d19bdc
...
@@ -13,7 +13,7 @@ Ext.define('PVE.node.APT', {
...
@@ -13,7 +13,7 @@ Ext.define('PVE.node.APT', {
var
store
=
Ext
.
create
(
'
Ext.data.Store
'
,
{
var
store
=
Ext
.
create
(
'
Ext.data.Store
'
,
{
model
:
'
apt-pkglist
'
,
model
:
'
apt-pkglist
'
,
groupField
:
'
Sectio
n
'
,
groupField
:
'
Origi
n
'
,
proxy
:
{
proxy
:
{
type
:
'
pve
'
,
type
:
'
pve
'
,
url
:
"
/api2/json/nodes/
"
+
nodename
+
"
/apt/update
"
url
:
"
/api2/json/nodes/
"
+
nodename
+
"
/apt/update
"
...
@@ -27,7 +27,8 @@ Ext.define('PVE.node.APT', {
...
@@ -27,7 +27,8 @@ Ext.define('PVE.node.APT', {
});
});
var
groupingFeature
=
Ext
.
create
(
'
Ext.grid.feature.Grouping
'
,
{
var
groupingFeature
=
Ext
.
create
(
'
Ext.grid.feature.Grouping
'
,
{
groupHeaderTpl
:
'
{[ "Section: " + values.name ]} ({rows.length} Item{[values.rows.length > 1 ? "s" : ""]})
'
groupHeaderTpl
:
'
{[ "Origin: " + values.name ]} ({rows.length} Item{[values.rows.length > 1 ? "s" : ""]})
'
,
enableGroupingMenu
:
false
});
});
var
rowBodyFeature
=
Ext
.
create
(
'
Ext.grid.feature.RowBody
'
,
{
var
rowBodyFeature
=
Ext
.
create
(
'
Ext.grid.feature.RowBody
'
,
{
...
@@ -203,7 +204,7 @@ Ext.define('PVE.node.APT', {
...
@@ -203,7 +204,7 @@ Ext.define('PVE.node.APT', {
Ext
.
define
(
'
apt-pkglist
'
,
{
Ext
.
define
(
'
apt-pkglist
'
,
{
extend
:
'
Ext.data.Model
'
,
extend
:
'
Ext.data.Model
'
,
fields
:
[
'
Package
'
,
'
Title
'
,
'
Description
'
,
'
Section
'
,
'
Arch
'
,
fields
:
[
'
Package
'
,
'
Title
'
,
'
Description
'
,
'
Section
'
,
'
Arch
'
,
'
Priority
'
,
'
Version
'
,
'
OldVersion
'
,
'
ChangeLogUrl
'
],
'
Priority
'
,
'
Version
'
,
'
OldVersion
'
,
'
ChangeLogUrl
'
,
'
Origin
'
],
idProperty
:
'
Package
'
idProperty
:
'
Package
'
});
});
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment