Changeset 182
Legend:
- Unmodified
- Added
- Removed
-
trunk/Makefile
r180 r182 6 6 7 7 PKGNAME=debbuild 8 VERSION=0. 9.108 VERSION=0.10.0 9 9 10 10 MANDIR=/usr/share/man -
trunk/debbuild
r180 r182 32 32 use Config; 33 33 34 my $version = "0. 9.10"; #VERSION#34 my $version = "0.10.0"; #VERSION# 35 35 36 36 # regex debugger … … 110 110 RPM_PACKAGE_RELEASE="%{release}" 111 111 export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE 112 LANG=C 113 export LANG 114 unset CDPATH DISPLAY ||: 112 115 RPM_BUILD_ROOT="%{buildroot}" 113 116 export RPM_BUILD_ROOT 117 118 PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:/usr/lib64/pkgconfig:/usr/share/pkgconfig" 119 export PKG_CONFIG_PATH 114 120 ); 115 foreach (`dpkg-architecture`) { 116 s/=(.+)/="$1"/; 117 $scriptletbase .= " $_"; 118 ($hostarch) = (/^DEB_HOST_ARCH="(.+)"$/) if /DEB_HOST_ARCH=/; 121 122 if (-e '/usr/bin/dpkg-architecture') { 123 foreach (`dpkg-architecture`) { 124 s/=(.+)/="$1"/; 125 $scriptletbase .= " $_"; 126 ($hostarch) = (/^DEB_HOST_ARCH="(.+)"$/) if /DEB_HOST_ARCH=/; 127 } 128 } else { 129 warn "Missing dpkg-architecture, DEB_HOST_ARCH will not be set!\n"; 119 130 } 131 120 132 $scriptletbase .= 121 133 q( 122 134 set -x 123 135 umask 022 124 cd %{_topdir}/BUILD136 cd "%{_topdir}/BUILD" 125 137 ); 126 138 … … 569 581 $_ !~ /^%(?:attr|build|changelog|check|clean|config|configure|defattr|define|description| 570 582 dir|doc|docdir|else|endif|files|ghost|if|ifarch|ifn|ifnarch|ifnos|ifnxxx|fos|ifxxx| 571 install|makeinstall|package|patch\d+|post|postun|pre|prep|preun|readme|setup |583 install|makeinstall|package|patch\d+|post|postun|pre|prep|preun|readme|setup[^\s]*| 572 584 triggerin|triggerpostun|triggerun|verify|verifyscript)\b/x 573 585 ) { … … 760 772 if (/^\%setup/) { 761 773 $pkgdata{main}{hassetup} = 1; # flag the fact that we've got %setup 762 # Parse out the %setup macro. Note that we aren't supporting 763 # many of RPM's %setup features. 764 $prepscript .= "cd $topdir/BUILD\n"; 765 if ( /\s+-n\s+([^\s]+)\s+/ ) { 766 $tarballdir = $1; 767 } 774 # Parse out the %setup macro. 775 chomp; 776 # rpmbuild doesn't complain about gibberish immediately following %setup, but we will 777 warn "Suspect \%setup tag '$_', continuing\n" if ! /^\%setup(?:\s|$)/; 778 779 # Prepare some flags 780 my $changedir = 0; 781 my $deldir = 1; 782 my $quietunpack = 0; 783 my $deftarball = 1; 784 my $snum = ''; 785 my $sbefore; 786 my $safter; 787 my $altsource = 0; 788 789 my @sbits = split /\s+/; 790 shift @sbits; 791 while (my $sopt = shift @sbits) { 792 if ($sopt eq '-n') { 793 $tarballdir = shift @sbits; 794 } elsif ($sopt eq '-a') { 795 # shift, next opt must be numeric (which sourcenn:) 796 $sopt = shift @sbits; 797 die "Argument for \%setup -a must be numeric at $specfile line $.\n" if $sopt !~ /^\d+$/; 798 $safter = $sopt; 799 $snum = $sopt; 800 $altsource = 1; 801 } elsif ($sopt eq '-b') { 802 # shift, next opt must be numeric (which sourcenn:) 803 $sopt = shift @sbits; 804 die "Argument for \%setup -b must be numeric at $specfile line $.\n" if $sopt !~ /^\d+$/; 805 $sbefore = $sopt; 806 $snum = $sopt; 807 $altsource = 2; 808 } elsif ($sopt eq '-c') { 809 # flag, create and change directory before unpack 810 $changedir = 1; 811 } elsif ($sopt eq '-D') { 812 # flag, do not delete directory before unpack 813 $deldir = 0; 814 } elsif ($sopt eq '-T') { 815 # flag, do not unpack first source 816 $deftarball = 0; 817 } elsif ($sopt eq '-q') { 818 # SSSH! Unpack quietly 819 $quietunpack = 1; 820 } 821 } # $sopt = shift @sbits 822 823 # Note that this is an incomplete match to rpmbuild's full %setup expression. 824 # Still known to do: 825 # - Match implementation of -a and -b if both are specified. 826 # Looks to be "expand -a into $aftersource and expand -b into $beforesource inside the while()" 827 # instead of treating them as flags like the other arguments. 828 # - -q appears to be somewhat positional 829 830 $prepscript .= "cd '$topdir/BUILD'\n"; 768 831 $tarballdir = expandmacros($tarballdir,'gp'); 769 $prepscript .= "rm -rf $tarballdir\n";770 if (/\s+-c\s+/) {771 $prepscript .= "mkdir $tarballdir\ncd $tarballdir\n"; 772 }773 $prepscript .=832 $prepscript .= "rm -rf '$tarballdir'\n" if $deldir; 833 $prepscript .= "/bin/mkdir -p $tarballdir\n" if $changedir; 834 835 if ($deftarball) { 836 $prepscript .= 774 837 ( $pkgdata{main}{source} =~ /\.tar\.gz$/ ? "/bin/gzip" : "" ). 775 838 ( $pkgdata{main}{source} =~ /\.tar\.bz2$/ ? "/bin/bzip2" : "" ). 776 839 ( $pkgdata{main}{source} =~ /\.tar\.xz$/ ? "/usr/bin/xz" : "" ). 777 " -dc $topdir/SOURCES/$pkgdata{main}{source} | /bin/tar -". 778 ( /\s+-q\s+/ ? '' : 'vv' )."xf -\n". 779 qq(STATUS=\$?\nif [ \$STATUS -ne 0 ]; then\n exit \$STATUS\nfi\n). 780 "cd $topdir/BUILD/$tarballdir\n". 781 qq([ `/usr/bin/id -u` = '0' ] && /bin/chown -Rhf root .\n). 782 qq([ `/usr/bin/id -u` = '0' ] && /bin/chgrp -Rhf root .\n). 783 qq(/bin/chmod -Rf a+rX,g-w,o-w .\n); 840 " -dc '$topdir/SOURCES/$pkgdata{main}{source}' | /bin/tar -x". 841 ( $quietunpack ? '' : 'vv' )."f -\n". 842 qq(STATUS=\$?\nif [ \$STATUS -ne 0 ]; then\n exit \$STATUS\nfi\n); 843 } 844 845 if ($altsource) { 846 if ($altsource == 1) { # -a 847 $prepscript .= "cd '$tarballdir'\n"; 848 $prepscript .= 849 ( $pkgdata{sources}{$snum} =~ /\.tar\.gz$/ ? "/bin/gzip" : "" ). 850 ( $pkgdata{sources}{$snum} =~ /\.tar\.bz2$/ ? "/bin/bzip2" : "" ). 851 ( $pkgdata{sources}{$snum} =~ /\.tar\.xz$/ ? "/usr/bin/xz" : "" ). 852 " -dc '$topdir/SOURCES/$pkgdata{sources}{$snum}' | /bin/tar -x". 853 ( $quietunpack ? '' : 'vv' )."f -\n". 854 qq(STATUS=\$?\nif [ \$STATUS -ne 0 ]; then\n exit \$STATUS\nfi\n); 855 } # $altsource == 1 856 857 if ($altsource == 2) { # -b 858 $prepscript .= 859 ( $pkgdata{sources}{$snum} =~ /\.tar\.gz$/ ? "/bin/gzip" : "" ). 860 ( $pkgdata{sources}{$snum} =~ /\.tar\.bz2$/ ? "/bin/bzip2" : "" ). 861 ( $pkgdata{sources}{$snum} =~ /\.tar\.xz$/ ? "/usr/bin/xz" : "" ). 862 " -dc '$topdir/SOURCES/$pkgdata{sources}{$snum}' | /bin/tar -x". 863 ( $quietunpack ? '' : 'vv' )."f -\n". 864 qq(STATUS=\$?\nif [ \$STATUS -ne 0 ]; then\n exit \$STATUS\nfi\n); 865 $prepscript .= "cd '$tarballdir'\n"; 866 } # $altsource == 2 867 } else { 868 $prepscript .= "cd '$tarballdir'\n" unless $changedir; 869 } 870 871 # rpm doesn't seem to do the chowns any more 872 # qq([ `/usr/bin/id -u` = '0' ] && /bin/chown -Rhf root .\n). 873 # qq([ `/usr/bin/id -u` = '0' ] && /bin/chgrp -Rhf root .\n). 874 $prepscript .= 875 qq(/bin/chmod -Rf a+rX,u+w,g-w,o-w .\n); 876 784 877 } elsif ( my ($patchnum,$patchopts) = (/^\%patch([^\s]+)(\s+.+)?$/) ) { 785 878 chomp $patchnum; … … 959 1052 } elsif (/^buildroot:\s*(.+)/i) { 960 1053 $specglobals{buildroot} = $1; 961 } elsif ( /^source0?:\s*(.+)/i) {962 $pkgdata{main}{source} = $ 1;1054 } elsif (my ($sval) = /^source0?:\s*(.+)/i) { 1055 $pkgdata{main}{source} = $sval; 963 1056 # Do this here since we don't use any URL forms elsewhere (maybe some other time) 964 $pkgdata{main}{source} =~ s|^.+/([^/]+)$|$1|; 1057 $pkgdata{main}{source} =~ s|^.+/([^/]+)$|$sval|; 1058 $pkgdata{sources}{0} = $pkgdata{main}{source}; 965 1059 # .tar, .tar.gz, .tar.bz2, .tgz, .xz 966 1060 die "Unknown tarball format $1\n" if $1 !~ /\.(?:tar(?:\.(?:gz|bz2|xz))?|tgz)$/; -
trunk/debbuild.spec
r181 r182 57 57 %if %{_vendor} == "debbuild" 58 58 Recommends: patch, bzip2 59 # For setting DEB_HOST_ARCH 60 Recommends: dpkg-architecture 59 61 Suggests: rpm, subversion 60 62 %endif
Note:
See TracChangeset
for help on using the changeset viewer.