Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:13.2:Update
dtb-armv6l
pre_checkin.pl
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File pre_checkin.pl of Package dtb-armv6l
#!/usr/bin/perl -w use strict; use Data::Dumper; my $spec_in = "dtb.spec.in"; # DTB packages names my @armv7l_package_list = ( ['dtb-omap3', '*omap3*.dts', "TI OMAP3 based systems"], ['dtb-omap4', '*omap4*.dts', "TI OMAP4 based systems"], ['dtb-omap5', '*omap5*.dts', "TI OMAP5 based systems"], ['dtb-am335x', '*am335x*.dts', "TI AM335x based systems"], ['dtb-keystone', 'k2hk-evm.dts', "TI Keystone based systems"], ['dtb-exynos4', '*exynos4*.dts', "Samsung Exynos4 based systems"], ['dtb-exynos5', '*exynos5*.dts', "Samsung Exynos5 based systems"], ['dtb-imx5', '*imx5*.dts', "Freescale i.MX51 and i.MX53 based systems"], ['dtb-imx6', '*imx6*.dts', "Freescale i.MX6 based systems"], ['dtb-vf6', '*vf6*.dts', "Freescale Vybrid VF6xx based systems"], ['dtb-tegra2', '*tegra2*.dts', "NVidia Tegra2 based systems"], ['dtb-tegra3', '*tegra3*.dts', "NVidia Tegra3 based systems"], ['dtb-tegra114', 'tegra114-*.dts', "NVidia Tegra4 based systems"], ['dtb-tegra124', 'tegra124-*.dts', "NVidia Tegra K1 based systems"], ['dtb-sun4i', '*sun4i*.dts', "Allwinner sun4i based systems"], ['dtb-sun5i', '*sun5i*.dts', "Allwinner sun5i based systems"], ['dtb-sun6i', '*sun6i*.dts', "Allwinner sun6i based systems"], ['dtb-sun7i', '*sun7i*.dts', "Allwinner sun7i based systems"], ['dtb-xenvm', '*xenvm*.dts', "Xen virtual machines"], ['dtb-ste', 'ste*.dts', "ST Ericsson based systems"], ['dtb-dove', 'dove*.dts', "Marvell dove based systems"], ['dtb-armada-370', 'armada-370*.dts', "Armada 370 based systems"], ['dtb-armada-xp', 'armada-xp*.dts', "Armada XP based systems"], ['dtb-rk3', 'rk3*.dts', "Rockchip RK3xxx based systems"], ); # DTB packages names my @armv6l_package_list = ( ['dtb-bcm2835', 'bcm2835*.dts', "Raspberry PI B"], ); # DTB packages names my @aarch64_package_list = ( ['dtb-apm-mustang', 'apm-mustang.dts', "APM X-Gene Mustang board"], ['dtb-foundation-v8', 'foundation-v8.dts', "Foundation-V8A (compatible with Vexpress64)"], ['dtb-rtsm_ve-aemv8a', 'rtsm_ve-aemv8a.dts', "RTSM VE AEMv8A board (compatible with Vexpress64)"], ); sub generate_spec($$$) { my ($main_package, $exclusive_arch, $package_list) = @_; open (SPEC, ">$main_package.spec") or die "Unable to open $main_package.spec.\n"; open (TEMPLATE, "$spec_in") or die "Unable to open $spec_in.\n"; my $ARCH_RESTRICTIONS = ""; $ARCH_RESTRICTIONS = "ExclusiveArch: $exclusive_arch" unless ($exclusive_arch eq 'none'); my $subpkg_desc = ""; my $subpkg_files = ""; my $all_supported_dtb = ""; my $DTS_folder = "linux/arch/arm/boot/dts"; if ($exclusive_arch =~ /aarch64/) { $DTS_folder = "linux/arch/arm64/boot/dts"; } foreach my $NAME (@$package_list) { # open .spec and .spec.in files my $PKG_NAME = @{$NAME}[0]; my $SUPPORTED_DTB = @{$NAME}[1]; my $MACHINES = @{$NAME}[2]; $subpkg_desc .= "%package -n $PKG_NAME\n" . "Summary: $MACHINES\n" . "Group: System/Boot\n" . "\n" . "%description -n $PKG_NAME\n" . "Device Tree Files for $MACHINES.\n\n"; my $bin_supported_dtb = $SUPPORTED_DTB; $bin_supported_dtb =~ s/\.dts/\.dtb/g; $subpkg_files .= "%files -n $PKG_NAME\n" . "%defattr(-,root,root)\n" . "%doc COPYING\n" . "%dir /boot/dtb/\n" . "/boot/dtb/$bin_supported_dtb\n" . "\n"; $all_supported_dtb .= "$SUPPORTED_DTB "; } chomp($all_supported_dtb); # spec file generation while(<TEMPLATE>){ $_ =~ s/\$NAME/$main_package/g; $_ =~ s/\$ARCH_RESTRICTIONS/$ARCH_RESTRICTIONS/g; $_ =~ s/\$DTS_folder/$DTS_folder/g; $_ =~ s/\$SUBPKG_DESC/$subpkg_desc/g; $_ =~ s/\$ALL_SUPPORTED_DTB/$all_supported_dtb/g; $_ =~ s/\$SUBPKG_FILES/$subpkg_files/g; print SPEC $_; } close(TEMPLATE); close(SPEC); # Make symlink for .changes file if ("dtb-source" ne $main_package) { system("cp -lf dtb-source.changes $main_package.changes"); } } generate_spec('dtb-source', 'none', []); generate_spec('dtb-armv7l', "armv7l armv7hl", \@armv7l_package_list); generate_spec('dtb-armv6l', "armv6l armv6hl", \@armv6l_package_list); generate_spec('dtb-aarch64', "aarch64", \@aarch64_package_list);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor