index
:
drakx
distro/mdv2007.1
distro/mdv2008.0
distro/mdv2008.1
distro/mdv2009.0
distro/mdv2009.1
distro/mdv2010.0
distro/mes5
distro/mes5-2.6.33
distro/mes6
distro/mga1
distro/mga2
distro/mga3
distro/mga4
distro/mga5
distro/mga6
distro/mga7
distro/mga8
distro/mga9
master
topic/Corpo_2_1
topic/KA9_0
topic/MDK-10-update
topic/MDK-10_1-update
topic/MDK-10_2-update
topic/MDK-2006_0-update
topic/MDK92-branch
topic/MDKC_1_0
topic/PCMCIA_CS_DISTRO
topic/R9_0-64bit-branch
topic/R9_1_HP-branch
topic/a
topic/before_matchbox_wm
topic/bug-13680
topic/dietlibc
topic/efi
topic/extlinux
topic/firewall
topic/gdk-pixbuf-0-branch
topic/gi-ppc
topic/ia64-8_1
topic/mandrakesoft
topic/mlcd4
topic/ppp
topic/rp-pppoe
topic/switching_to_dnf
topic/switching_to_urpmi
topic/unlabeled-1.1.1
topic/v_webmin_0_87
topic/x86_64-branch
user/animtim/designWork
user/colin/rescue-systemd
user/ennael/mga6
user/erwan/bug-13680
user/jibz/aarch64
user/martinw/mga6
user/pterjan/arm64
Mageia Installer and base platform for many utilities
Thierry Vignaud [tv]
summary
refs
log
tree
commit
diff
stats
log msg
author
committer
range
Branch
Commit message
Author
Age
master
Manage also Wayland session in MCC
Aurelian R
42 hours
user/jibz/aarch64
fix(install): grub2-efi was not found using default_bootloader()
Jybz
8 months
distro/mga9
18.66
Martin Whitaker
16 months
user/pterjan/arm64
foo
Pascal Terjan
18 months
distro/mga8
drakxtools/stage2: 18.45: update NEWS
Thomas Backlund
4 years
distro/mga7
18.21.1
Thomas Backlund
5 years
distro/mga6
17.88.3
Martin Whitaker
6 years
topic/extlinux
bootloader: add cma=256M@512M for Raspberry Pi DRM/VC4
Olivier Blin
7 years
topic/switching_to_dnf
perl-install/pkgs.pm: Port 'urpme' call to 'dnf remove' call
Neal Gompa
7 years
distro/mga5
Fix the display of the clock in drakclock (mga#11776)
Frédéric Buclin
8 years
user/ennael/mga6
- Add 60-block.rules in the installer (mga#20074)
Nicolas Lécureuil
8 years
user/martinw
package
fs
::
proc_partitions
;
# $Id$
use
common
;
sub
read_raw
() {
my
(
undef
,
undef
,
@all
) =
cat_
(
"/proc/partitions"
);
grep
{
$_
->{
size
} !=
1
&&
# skip main extended partition
$_
->{
size
} !=
0x3fffffff
;
# skip cdroms (otherwise stops cd-audios)
}
map
{
my
%l
;
@l
{
qw(major minor size dev)
} =
split
;
\
%l
;
}
@all
;
}
sub
read
{
my
(
$hds
) =
@_
;
my
@all
=
read_raw
();
my
(
$parts, $_disks
) =
partition
{
$_
->{
dev
} =~
/\d$/
&&
$_
->{
dev
} !~
/^(sr|scd)/
}
@all
;
fs
::
get_major_minor
(
$hds
);
my
$prev_part
;
foreach
my
$part
(
@$parts
) {
my
$dev
=
$part
->{
dev
};
if
(
my
$hd
=
find
{
$part
->{
dev
} =~
/^\Q$_->{device}\E./
}
@$hds
) {
put_in_hash
(
$part,
partition_table
::
hd2minimal_part
(
$hd
));
}
undef
$prev_part
if
$prev_part
&& (
$prev_part
->{
rootDevice
} ||
''
)
ne
(
$part
->{
rootDevice
} ||
''
);
$part
->{
device
} =
$dev
;
$part
->{
size
} *=
2
;
# from KB to sectors
$part
->{
start
} =
$prev_part
?
$prev_part
->{
start
} +
$prev_part
->{
size
} :
0
;
require
fs
::
type
;
put_in_hash
(
$part,
fs
::
type
::
type_subpart_from_magic
(
$part
));
$prev_part
=
$part
;
delete
$part
->{
dev
};
# cleanup
}
@$parts
;
}
sub
compare
{
my
(
$hd
) =
@_
;
eval
{
$hd
->
isa
(
'partition_table::lvm'
) }
and
return
;
my
@l1
=
partition_table
::
get_normal_parts
(
$hd
);
my
@l2
=
grep
{
$_
->{
rootDevice
}
eq
$hd
->{
device
} } &
read
([
$hd
]);
#- /proc/partitions includes partition with type "empty" and a non-null size
#- so add them for comparison
my
(
$len1, $len2
) = (
int
(
@l1
) +
$hd
->{
primary
}{
nb_special_empty
},
int
(
@l2
));
if
(
$len1
!=
$len2
) {
if
(
find
{
$_
->{
pt_type
} ==
0xbf
}
@l1
) {
log
::
l
(
"not using /proc/partitions because of the presence of solaris extended partition"
);
#- cf #33866
}
else
{
die sprintf
(
"/proc/partitions does not agree with drakx
%d
!=
%d
:
\n
%s\n
"
,
$len1, $len2,
"/proc/partitions: "
.
join
(
", "
,
map
{
"
$_
->{device} (
$_
->{rootDevice})"
}
@l2
));
}
}
$len2
;
}
sub
use_
{
my
(
$hd
) =
@_
;
require
partition_table
::
readonly
;
partition_table
::
readonly-
>
initialize
(
$hd,
[
grep
{
$_
->{
rootDevice
}
eq
$hd
->{
device
} } &
read
([
$hd
]) ]);
}
1
;