Subversion Repositories DevTools

Rev

Rev 3423 | Rev 4093 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3423 Rev 4092
Line 40... Line 40...
40
my $opt_manual;
40
my $opt_manual;
41
my $opt_test;
41
my $opt_test;
42
my $opt_limit;
42
my $opt_limit;
43
my $opt_quick;
43
my $opt_quick;
44
my $opt_phase = '123';                      # Default - do all, but don't save data
44
my $opt_phase = '123';                      # Default - do all, but don't save data
-
 
45
my $opt_purge;
45
 
46
 
46
#
47
#
47
#   Globals
48
#   Globals
48
#
49
#
49
my $RM_DB;
50
my $RM_DB;
Line 92... Line 93...
92
                "verbose:+"     => \$opt_verbose,       # flag
93
                "verbose:+"     => \$opt_verbose,       # flag
93
                "test:+"        => \$opt_test,          # Test a version string
94
                "test:+"        => \$opt_test,          # Test a version string
94
                "limit:n"       => \$opt_limit,         #
95
                "limit:n"       => \$opt_limit,         #
95
                "phase:s"       => \$opt_phase,         # Phase to do
96
                "phase:s"       => \$opt_phase,         # Phase to do
96
                "quick"         => \$opt_quick,         # Don't look for indirects
97
                "quick"         => \$opt_quick,         # Don't look for indirects
-
 
98
                "purge"         => \$opt_purge,         # Purge old quarantined packages
97
                );
99
                );
98
 
100
 
99
#
101
#
100
#   Process help and manual options
102
#   Process help and manual options
101
#
103
#
Line 128... Line 130...
128
}
130
}
129
 
131
 
130
#
132
#
131
#   Collect data from Release Manager
133
#   Collect data from Release Manager
132
#
134
#
133
if ( $opt_phase =~ m~1~ )
135
if ( $opt_phase =~ m~1~ && !$opt_purge )
134
{
136
{
135
    getReleaseDetails();
137
    getReleaseDetails();
136
    GetAllPackageData();
138
    GetAllPackageData();
137
    getTopLevelPackages();
139
    getTopLevelPackages();
138
    LocateStrays() unless ($opt_quick);
140
    LocateStrays() unless ($opt_quick);
Line 145... Line 147...
145
        DebugDumpData("Packages", \%Packages );
147
        DebugDumpData("Packages", \%Packages );
146
    }
148
    }
147
}
149
}
148
 
150
 
149
#
151
#
150
#   Scan dppkg_archive and quarantine packages
152
#   Scan dpkg_archive and quarantine packages
151
#
153
#
152
if ( $opt_phase =~ m~2~ )
154
if ( $opt_phase =~ m~2~ )
153
{
155
{
154
    prepQdir();
156
    prepQdir();
-
 
157
    unless ($opt_purge) {
155
    readInputData();
158
        readInputData();
156
    processDpkgArchive();
159
        processDpkgArchive();
157
    reportMissingPkgs();
160
        reportMissingPkgs();
-
 
161
    }
158
 
162
 
159
    Verbose ("Quarantine to: $quarantineInstance");
163
    Verbose ("Quarantine to: $quarantineInstance");
160
    Verbose ("Log to: $logPath");
164
    Verbose ("Log to: $logPath");
161
}
165
}
162
 
166
 
Line 1015... Line 1019...
1015
    -help              - brief help message
1019
    -help              - brief help message
1016
    -help -help        - Detailed help message
1020
    -help -help        - Detailed help message
1017
    -man               - Full documentation
1021
    -man               - Full documentation
1018
    -verbose[=n]       - Control output
1022
    -verbose[=n]       - Control output
1019
    -phase=nn          - Perform named phases
1023
    -phase=nn          - Perform named phases
-
 
1024
    -purge             - Just purge the old quarantined files
1020
    -test              - Do not delete files
1025
    -test              - Do not delete files
1021
    -limit=n           - Limit packages processed. Test only
1026
    -limit=n           - Limit packages processed. Test only
1022
 
1027
 
1023
=head1 OPTIONS
1028
=head1 OPTIONS
1024
 
1029
 
Line 1062... Line 1067...
1062
 
1067
 
1063
If only phase-2 is specified then saved RM data is restored.
1068
If only phase-2 is specified then saved RM data is restored.
1064
 
1069
 
1065
This option can simplify testing.
1070
This option can simplify testing.
1066
 
1071
 
-
 
1072
=item B<-purge>
-
 
1073
 
-
 
1074
This option will only purge the old quarantine directories. It will not quarantine new 
-
 
1075
package versions.
-
 
1076
 
1067
=item B<-test>
1077
=item B<-test>
1068
 
1078
 
1069
Do not delete or move files and directories. Report what would have been done.
1079
Do not delete or move files and directories. Report what would have been done.
1070
 
1080
 
1071
=item B<-limit=n>
1081
=item B<-limit=n>