Ticket #581: dports-rpm.2.diff

File dports-rpm.2.diff, 4.9 KB (added by ssen@…, 21 years ago)

v2 RPM packaging patch

  • src/port1.0/Makefile

    diff -urN base.old/src/port1.0/Makefile base/src/port1.0/Makefile
    old new  
    11INSTALLDIR=     ${DESTDIR}${datadir}/darwinports/Tcl/port1.0
    22
    3 SRCS=           port.tcl portchecksum.tcl portconfigure.tcl portextract.tcl portfetch.tcl portmain.tcl portbuild.tcl portpatch.tcl portutil.tcl portinstall.tcl portdepends.tcl portinstall.tcl portuninstall.tcl portdepends.tcl portclean.tcl portpackage.tcl portcontents.tcl portmpkg.tcl
     3SRCS= port.tcl portchecksum.tcl portconfigure.tcl portextract.tcl           \
     4        portfetch.tcl portmain.tcl portbuild.tcl portpatch.tcl portutil.tcl \
     5        portinstall.tcl portdepends.tcl portinstall.tcl portuninstall.tcl   \
     6        portdepends.tcl portclean.tcl portpackage.tcl portcontents.tcl      \
     7        portmpkg.tcl portrpmpackage.tcl
    48
    59SUBDIR=         resources
    610
  • src/port1.0/port.tcl

    diff -urN base.old/src/port1.0/port.tcl base/src/port1.0/port.tcl
    old new  
    4343package require portuninstall 1.0
    4444package require portclean 1.0
    4545package require portpackage 1.0
     46package require portrpmpackage 1.0
    4647package require portcontents 1.0
    4748package require portmpkg 1.0
  • src/port1.0/portrpmpackage.tcl

    diff -urN base.old/src/port1.0/portrpmpackage.tcl base/src/port1.0/portrpmpackage.tcl
    old new  
     1# et:ts=4
     2# portrpmpackage.tcl
     3#
     4# Copyright (c) 2002 - 2003 Apple Computer, Inc.
     5# All rights reserved.
     6#
     7# Redistribution and use in source and binary forms, with or without
     8# modification, are permitted provided that the following conditions
     9# are met:
     10# 1. Redistributions of source code must retain the above copyright
     11#    notice, this list of conditions and the following disclaimer.
     12# 2. Redistributions in binary form must reproduce the above copyright
     13#    notice, this list of conditions and the following disclaimer in the
     14#    documentation and/or other materials provided with the distribution.
     15# 3. Neither the name of Apple Computer, Inc. nor the names of its contributors
     16#    may be used to endorse or promote products derived from this software
     17#    without specific prior written permission.
     18#
     19# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     20# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     21# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     22# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
     23# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     24# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     25# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     26# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     27# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     28# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     29# POSSIBILITY OF SUCH DAMAGE.
     30#
     31
     32package provide portrpmpackage 1.0
     33package require portutil 1.0
     34
     35set com.apple.rpmpackage [target_new com.apple.rpmpackage rpmpackage_main]
     36target_runtype ${com.apple.rpmpackage} always
     37target_provides ${com.apple.rpmpackage} rpmpackage
     38target_requires ${com.apple.rpmpackage} install
     39
     40# define options
     41options rpmpackage.type rpmpackage.destpath
     42
     43# Set defaults
     44default rpmpackage.destpath {${workpath}}
     45
     46set UI_PREFIX "---> "
     47
     48proc rpmpackage_main {args} {
     49    global portname portversion portrevision rpmpackage.type rpmpackage.destpath UI_PREFIX
     50
     51    ui_msg "$UI_PREFIX [format [msgcat::mc "Creating RPM package for %s-%s"] ${portname} ${portversion}]"
     52
     53    return [rpmpackage_pkg $portname $portversion $portrevision]
     54}
     55
     56proc rpmpackage_pkg {portname portversion portrevision} {
     57    global portdbpath destpath workpath prefix portresourcepath description rpmpackage.destpath long_description homepage
     58
     59    set specpath ${workpath}/${portname}.spec
     60    # long_description, description, or homepage may not exist
     61    foreach variable {long_description description homepage} {
     62        if {![info exists $variable]} {
     63            set pkg_$variable ""
     64        } else {
     65            set pkg_$variable [set $variable]
     66        }
     67    }
     68
     69    write_spec ${specpath} $portname $portversion $portrevision $pkg_description $pkg_long_description $destpath
     70
     71    system "rpm -bb -v ${specpath}"
     72
     73    return 0
     74}
     75
     76
     77proc write_spec {specfile portname portversion portrevision description long_description destroot} {
     78    set specfd [open ${specfile} w+]
     79    puts $specfd "\#Spec file generated by DarwinPorts
     80Summary: ${description}
     81Name: ${portname}
     82Version: ${portversion}
     83Release: ${portrevision}
     84Group: darwinports
     85License: ???
     86BuildRoot: ${destroot}
     87
     88%description
     89${long_description}
     90%prep
     91%build
     92echo \"Go DarwinPorts\"
     93%install
     94%clean
     95%files
     96/*
     97"
     98    close $specfd
     99}