mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-03 21:02:34 +00:00 
			
		
		
		
	add metadeb and all support
This commit is contained in:
		@@ -764,20 +764,20 @@ sub kit_buildrepo1
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    # Build kitcomponent metapackages
 | 
			
		||||
    # Build kitcomponent preppackages and metapackages
 | 
			
		||||
    if ( $debianflag ){
 | 
			
		||||
        foreach my $kc (@{$::bldkit_config->{kitcomponent}{entries}}) {
 | 
			
		||||
            if ($repoid ne $kc->{kitrepoid}) { next; }
 | 
			
		||||
            my $debname = "$repodir/".&comppkgname($kc);
 | 
			
		||||
            if (-r $debname) { next; }
 | 
			
		||||
            if ($::VERBOSE) { print "building kitcomponent metapackage for $kc->{basename} \n";}
 | 
			
		||||
            if ($::VERBOSE) { print "building kitcomponent package for $kc->{basename} \n";}
 | 
			
		||||
            if (&build_kitcomp_debian($kc)) {
 | 
			
		||||
                print "Error building kitcomponent metapackage for $kc->{basename} \n";
 | 
			
		||||
                return 1;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
      #  if ( system("dpkg-scanpackages $repodir > $repodir/Packages") ) {
 | 
			
		||||
     if ( system("cd $repodir;dpkg-scanpackages . > Packages") ) {  
 | 
			
		||||
     
 | 
			
		||||
       if ( system("cd $repodir;dpkg-scanpackages . > Packages") ) {  
 | 
			
		||||
             print "Error building the repository meta-data with the dpkg-scanpackages command \n";
 | 
			
		||||
            return 1;
 | 
			
		||||
        }
 | 
			
		||||
@@ -2429,15 +2429,15 @@ sub build_kitcomp_debian{
 | 
			
		||||
    system($cmd);
 | 
			
		||||
    mkpath($debbuilddir);
 | 
			
		||||
 | 
			
		||||
    $::VALID_PRER_COMPONENT = 0;
 | 
			
		||||
    $::VALID_PREP_COMPONENT = 0;
 | 
			
		||||
 | 
			
		||||
    if ( !$::PREREQUISITE ) {
 | 
			
		||||
        if ( $comp->{ospkgdeps} || $comp->{preinstall} || $comp->{preupgrade} || $comp->{preuninstall} ) {
 | 
			
		||||
            
 | 
			
		||||
            #Create debian directory for this kit component
 | 
			
		||||
            #Create debian directory for this kit component preppackage
 | 
			
		||||
 | 
			
		||||
            if ( &gen_kitcomp_debdir_prep($comp,\%repo) ) { return 1; }
 | 
			
		||||
            $::VALID_PRER_COMPONENT = 1;
 | 
			
		||||
            $::VALID_PREP_COMPONENT = 1;
 | 
			
		||||
            # build prep deb
 | 
			
		||||
            my $prep_compversion = $comp->{version} . "-" . $comp->{release};
 | 
			
		||||
            my $prep_buildstring = "Prep Kit component build package.";
 | 
			
		||||
@@ -2449,14 +2449,14 @@ sub build_kitcomp_debian{
 | 
			
		||||
                return 1;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        #Create debian directory for this kit component
 | 
			
		||||
        #Create debian directory for this kit component metapackage
 | 
			
		||||
 | 
			
		||||
        if ( &gen_kitcomp_debdir($comp,\%repo) ) { return 1; }
 | 
			
		||||
        if ( &gen_kitcomp_debdir($comp,\%repo,'METADEB') ) { return 1; }
 | 
			
		||||
 | 
			
		||||
    } else {
 | 
			
		||||
        #Create debian directory for this kit component
 | 
			
		||||
 | 
			
		||||
        if ( &gen_kitcomp_debdir($comp,\%repo) ) { return 1; }
 | 
			
		||||
        if ( &gen_kitcomp_debdir($comp,\%repo,'ALL') ) { return 1; }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -2566,16 +2566,16 @@ sub gen_kitcomp_debdir_prep{
 | 
			
		||||
            chomp;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_basename_HERE>>>/$prep_comp_name/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_ospkgdeps_HERE>>>/$comp->{ospkgdeps}/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_kitpkgdeps_HERE>>>/$comp->{kitpkgdeps}/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_kitcompdeps_HERE>>>/$comp->{kitcompdeps}/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_kitpkgdeps_HERE>>>//;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_kitcompdeps_HERE>>>//;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_desc_HERE>>>/$comp->{description}/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_upgrade_flag_HERE>>>/$upgradeflag/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_preinstall_script_HERE>>>/$prescript/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_postinstall_script_HERE>>>/$postscript/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_postinstall_script_HERE>>>//;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_preupgrade_script_HERE>>>/$preupscript/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_postupgrade_script_HERE>>>/$postupscript/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_postupgrade_script_HERE>>>//;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_preuninstall_script_HERE>>>/$preunscript/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_postuninstall_script_HERE>>>/$postunscript/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_postuninstall_script_HERE>>>//;
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
        my $joined_lines = join("\n", @lines);
 | 
			
		||||
@@ -2607,6 +2607,7 @@ sub gen_kitcomp_debdir_prep{
 | 
			
		||||
sub gen_kitcomp_debdir{
 | 
			
		||||
    my $comp = shift;
 | 
			
		||||
    my $repo = shift;
 | 
			
		||||
    my $level = shift;
 | 
			
		||||
    my $scriptdir = $::workdir."/scripts/";
 | 
			
		||||
    my $combuilddir = $::workdir."/debbuild/".$comp->{kitcompname};
 | 
			
		||||
 | 
			
		||||
@@ -2620,29 +2621,38 @@ sub gen_kitcomp_debdir{
 | 
			
		||||
    my $upgradeflag = $comp->{basename} . ".tmp";
 | 
			
		||||
 | 
			
		||||
    my ($prescript,$postscript,$preupscript,$postupscript,$preunscript,$postunscript,$nonnativepkgs) = '';
 | 
			
		||||
    if (defined($comp->{preinstall})) {
 | 
			
		||||
        $prescript = &load_script("$scriptdir$comp->{preinstall}"); 
 | 
			
		||||
    }
 | 
			
		||||
    if (defined($comp->{postinstall})) {
 | 
			
		||||
        $postscript = &load_script("$scriptdir$comp->{postinstall}"); 
 | 
			
		||||
    }
 | 
			
		||||
    if (defined($comp->{preupgrade})) {
 | 
			
		||||
        $preupscript = &load_script("$scriptdir$comp->{preupgrade}");
 | 
			
		||||
    }
 | 
			
		||||
    if (defined($comp->{postupgrade})) {
 | 
			
		||||
        $postupscript = &load_script("$scriptdir$comp->{postupgrade}");
 | 
			
		||||
    }
 | 
			
		||||
    if (defined($comp->{preuninstall})) {
 | 
			
		||||
        $preunscript = &load_script("$scriptdir$comp->{preuninstall}"); 
 | 
			
		||||
    }
 | 
			
		||||
    if (defined($comp->{postuninstall})) {
 | 
			
		||||
        $postunscript = &load_script("$scriptdir$comp->{postuninstall}"); 
 | 
			
		||||
    }
 | 
			
		||||
    if (defined($comp->{non_native_pkgs})) {
 | 
			
		||||
        $nonnativepkgs = "\n";
 | 
			
		||||
        $nonnativepkgs .= "mkdir -p \$RPM_BUILD_ROOT/opt/xcat/kits/$kitname/$kitcompname \n";
 | 
			
		||||
        $nonnativepkgs .= "cp -a * \$RPM_BUILD_ROOT/opt/xcat/kits/$kitname/$kitcompname  \n";
 | 
			
		||||
 | 
			
		||||
    if ($level eq 'METADEB' || $level eq 'ALL')
 | 
			
		||||
    {
 | 
			
		||||
        if (defined($comp->{postinstall})) {
 | 
			
		||||
            $postscript = &load_script("$scriptdir$comp->{postinstall}"); 
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (defined($comp->{postupgrade})) {
 | 
			
		||||
            $postupscript = &load_script("$scriptdir$comp->{postupgrade}");
 | 
			
		||||
        }
 | 
			
		||||
        if (defined($comp->{postuninstall})) {
 | 
			
		||||
            $postunscript = &load_script("$scriptdir$comp->{postuninstall}");
 | 
			
		||||
        }
 | 
			
		||||
        if (defined($comp->{non_native_pkgs})) {
 | 
			
		||||
            $nonnativepkgs = "\n";
 | 
			
		||||
            $nonnativepkgs .= "mkdir -p \$RPM_BUILD_ROOT/opt/xcat/kits/$kitname/$kitcompname \n";
 | 
			
		||||
            $nonnativepkgs .= "cp -a * \$RPM_BUILD_ROOT/opt/xcat/kits/$kitname/$kitcompname  \n";
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    if ($level eq 'ALL')
 | 
			
		||||
    {
 | 
			
		||||
        if (defined($comp->{preinstall})) {
 | 
			
		||||
            $prescript = &load_script("$scriptdir$comp->{preinstall}"); 
 | 
			
		||||
        }
 | 
			
		||||
        if (defined($comp->{preupgrade})) {
 | 
			
		||||
            $preupscript = &load_script("$scriptdir$comp->{preupgrade}");
 | 
			
		||||
        }
 | 
			
		||||
        if (defined($comp->{preuninstall})) {
 | 
			
		||||
            $preunscript = &load_script("$scriptdir$comp->{preuninstall}");
 | 
			
		||||
        }
 | 
			
		||||
     }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    #replace all special sub string in all files under debian
 | 
			
		||||
    unless (opendir(DH, "${combuilddir}/debian/")){
 | 
			
		||||
@@ -2667,12 +2677,20 @@ sub gen_kitcomp_debdir{
 | 
			
		||||
        }
 | 
			
		||||
        my @lines = <FH>;
 | 
			
		||||
        close(FH);
 | 
			
		||||
        my $prepcomp="prep-".$comp->{basename};
 | 
			
		||||
        for(@lines) {
 | 
			
		||||
            chomp;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_basename_HERE>>>/$comp->{basename}/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_ospkgdeps_HERE>>>/$comp->{ospkgdeps}/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_kitpkgdeps_HERE>>>/$comp->{kitpkgdeps}/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_kitcompdeps_HERE>>>/$comp->{kitcompdeps}/;
 | 
			
		||||
            if ( $::VALID_PREP_COMPONENT ) {
 | 
			
		||||
                s/<<<INSERT_kitcomponent_kitcompdeps_HERE>>>/$comp->{kitcompdeps},$prepcomp/;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                s/<<<INSERT_kitcomponent_kitcompdeps_HERE>>>/$comp->{kitcompdeps}/;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            s/<<<INSERT_kitcomponent_desc_HERE>>>/$comp->{description}/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_upgrade_flag_HERE>>>/$upgradeflag/;
 | 
			
		||||
            s/<<<INSERT_kitcomponent_preinstall_script_HERE>>>/$prescript/;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user