Changeset 2241 in ProjectBuilder for devel/pb-modules/lib/ProjectBuilder
- Timestamp:
- Aug 2, 2017, 6:16:44 PM (7 years ago)
- Location:
- devel/pb-modules/lib/ProjectBuilder
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
devel/pb-modules/lib/ProjectBuilder/Conf.pm
r2239 r2241 19 19 use ProjectBuilder::Base; 20 20 use ProjectBuilder::Version; 21 #use YAML; 21 22 22 23 # Inherit from the "Exporter" module which handles exporting functions. 23 24 24 use vars qw($VERSION $REVISION $PBCONFVER@ISA @EXPORT);25 use vars qw($VERSION $REVISION @ISA @EXPORT); 25 26 use Exporter; 26 27 … … 30 31 our @ISA = qw(Exporter); 31 32 our @EXPORT = qw(pb_conf_init pb_conf_add pb_conf_read pb_conf_read_if pb_conf_write pb_conf_get pb_conf_get_if pb_conf_get_all pb_conf_get_hash pb_conf_cache); 32 ($VERSION,$REVISION ,$PBCONFVER) = pb_version_init();33 ($VERSION,$REVISION) = pb_version_init(); 33 34 34 35 # Global hash of conf files … … 69 70 to allow for overwrite to work: 70 71 71 1. /usr/share/pb/pb. yml- the read-only system conf file provided by install72 2. /etc/pb/pb. yml- the same global conf file given to the sysadmin in order to make system wide modifications72 1. /usr/share/pb/pb.conf - the read-only system conf file provided by install 73 2. /etc/pb/pb.conf - the same global conf file given to the sysadmin in order to make system wide modifications 73 74 3. /path/to/project.pb - Configuration file for the project we're building for 74 75 4. /(vm|ve|rm)path/to/.pbrc - configuration file for VM, VE or RM specific parameters. Cumulative should be orthogonal … … 123 124 my $cf = shift; 124 125 my $lh = shift; 125 126 my $ldfunc; 127 128 eval { 129 require YAML; 130 YAML->import(); 131 $ldfunc = \&YAML::LoadFile; 132 }; 133 if ($@) { 134 # No YAML found using a more std but less complete one. Old perl only 135 use Module::Build::YAML; 136 $ldfunc = \&Module::Build::YAML::LoadFile; 137 } 126 my $confver = "0.14"; 138 127 139 128 # Read the content of the config file and cache it in the %h hash then available for queries 140 if ($ PBCONFVER < 1) {129 if ($confver < 0.15) { 141 130 open(CONF,$cf) || confess "Unable to open $cf"; 142 131 # This is the original conf file format for versions up to 0.14 … … 150 139 close(CONF); 151 140 } else { 152 $lh = $ldfunc->($cf);141 $lh = LoadFile($cf); 153 142 } 154 143 return($lh); … … 262 251 my $conffile = shift; 263 252 my $h = shift; 264 my $dpfunc; 265 266 eval { 267 require YAML; 268 YAML->import(); 269 $dpfunc = \&YAML::Dump; 270 }; 271 if ($@) { 272 # No YAML found using a more std but less complete one. Old perl only 273 use Module::Build::YAML; 274 $dpfunc = \&Module::Build::YAML::Dump; 275 } 253 my $confver = "0.14"; 276 254 277 255 confess "No configuration file defined to write into !" if (not defined $conffile); … … 279 257 open(CONF,"> $conffile") || confess "Unable to write into $conffile"; 280 258 281 if ($ PBCONFVER < 1) {259 if ($confver < 0.15) { 282 260 # This is the original conf file format for versions up to 0.14 283 261 foreach my $p (sort keys %$h) { … … 289 267 } else { 290 268 # This is the new YAML format 291 print CONF $dpfunc->($h);269 print CONF Dump($h); 292 270 } 293 271 close(CONF); -
devel/pb-modules/lib/ProjectBuilder/Distribution.pm
r2239 r2241 26 26 # Inherit from the "Exporter" module which handles exporting functions. 27 27 28 use vars qw($VERSION $REVISION $PBCONFVER@ISA @EXPORT);28 use vars qw($VERSION $REVISION @ISA @EXPORT); 29 29 use Exporter; 30 30 … … 34 34 our @ISA = qw(Exporter); 35 35 our @EXPORT = qw(pb_distro_init pb_distro_conffile pb_distro_sysconffile pb_distro_get pb_distro_getlsb pb_distro_installdeps pb_distro_getdeps pb_distro_only_deps_needed pb_distro_setuprepo pb_distro_setuposrepo pb_distro_setuprepo_gen pb_distro_get_param pb_distro_get_context pb_distro_to_keylist pb_distro_conf_print pb_apply_conf_proxy); 36 ($VERSION,$REVISION ,$PBCONFVER) = pb_version_init();36 ($VERSION,$REVISION) = pb_version_init(); 37 37 38 38 =pod … … 77 77 sub pb_distro_conffile { 78 78 79 if ($PBCONFVER < 1) { 80 return("CCCC/pb.conf"); 81 } else { 82 return("CCCC/pb.yml"); 83 } 79 return("CCCC/pb.conf"); 84 80 } 85 81 … … 92 88 sub pb_distro_sysconffile { 93 89 94 if ($PBCONFVER < 1) { 95 return("SSSS/pb.conf"); 96 } else { 97 return("SSSS/pb.yml"); 98 } 90 return("SSSS/pb.conf"); 99 91 } 100 92 … … 107 99 Mandriva, Open SuSE and Fedora have all the same "rpm" type of build system. Ubuntu and Debian have the same "deb" type of build system. 108 100 And "fc" is the extension generated for all Fedora packages (Version will be added by pb). 109 All this information is stored in an external configuration file typically at /etc/pb/pb. yml101 All this information is stored in an external configuration file typically at /etc/pb/pb.conf 110 102 111 103 When passing the distribution name and version as parameters, the B<pb_distro_init> function returns the parameter of that distribution instead of the underlying one. … … 643 635 my $dirdest = ""; 644 636 my $reponame = ""; 645 # TODO: could go in pb. ymlin fact637 # TODO: could go in pb.conf in fact 646 638 if ($pbos->{install} =~ /\byum\b/) { 647 639 $reponame="yum"; -
devel/pb-modules/lib/ProjectBuilder/Version.pm
r2239 r2241 29 29 my $projectbuilderver = $VERSION; 30 30 my $projectbuilderrev = $REVISION; 31 # We fix the format of the conf file for this version of pb32 my $projectbuilderconfver = 1;33 31 34 return($projectbuilderver,$projectbuilderrev ,$projectbuilderconfver);32 return($projectbuilderver,$projectbuilderrev); 35 33 } 36 34 1;
Note:
See TracChangeset
for help on using the changeset viewer.