Date: Fri, 10 Nov 2000 20:28:22 -0800 From: Mike Smith <msmith@freebsd.org> To: ports@freebsd.org Subject: Patches for PIB 1.2 Message-ID: <200011110428.eAB4SM909717@mass.osd.bsdi.com>
next in thread | raw e-mail | index | archive | help
This is a multipart MIME message. --==_Exmh_-9559119500 Content-Type: text/plain; charset=us-ascii Satoshi pointed out that PIB 1.2 doesn't actually deal with the new ports layout properly (it's still looking for the md5 file in the wrong place). The attached patch should fix this; can I ask anyone that uses PIB at all to test and let me know how they go with it? Also, the distfile tool is showing up a few checksum mismatches again. Thanks! (please keep me on the cc: list as I'm not subscribed to -ports) --==_Exmh_-9559119500 Content-Type: text/plain ; name="pib.diff"; charset=us-ascii Content-Description: pib.diff Content-Disposition: attachment; filename="pib.diff" --- orig/pib-1.2/pib.tcl Sat Oct 28 02:01:12 2000 +++ pib.tcl Fri Nov 10 20:01:38 2000 @@ -3,7 +3,7 @@ exec wish8.2 -f $0 $* ################################################################################ # -# Copyright (C) 1996, 1997 +# Copyright (C) 1996, 1997, 2000 # Michael Smith. All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -368,7 +368,7 @@ " Ports INDEX Browser" \ " ===================" \ "" \ - " Copyright (c) 1996,1997 Michael Smith" \ + " Copyright (c) 1996,1997, 2000 Michael Smith" \ " msmith@FreeBSD.org" \ "" \ " Please report any bugs to the above address." \ @@ -396,7 +396,6 @@ " OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF" \ " SUCH DAMAGE." \ "" \ - { $Id: pib.tcl,v 1.14 1997/09/11 09:16:56 msmith Exp $ } \ ]; # ########################################################################### @@ -442,9 +441,9 @@ " completion of processing, which is performed the first time the " \ " Distfile browser is opened, or when the \[Rescan\] function is selected." \ "" \ - " No MD5 file The port's 'files' directory has no 'MD5' file." \ - " No files directory The port has no 'files' directory" \ + " No distinfo file The port's directory has no 'distinfo' file." \ " Port directory missing The port's skeleton directory is missing" \ + " Obsolete port The port still has old layout components" \ "" \ " Runtime warnings" \ " ----------------" \ @@ -583,12 +582,12 @@ pack $w.t2 -side top -fill x; # Options - set sf [op_sframe $w "w_md5" "No MD5 file"]; - checkbutton $sf.w -variable Options(warn_no_md5); + set sf [op_sframe $w "w_distinfo" "No distinfo file"]; + checkbutton $sf.w -variable Options(warn_no_distinfo); pack $sf.w -side left; - set sf [op_sframe $w "w_files" "No files directory"]; - checkbutton $sf.w -variable Options(warn_no_fdir); + set sf [op_sframe $w "w_olddir" "Bad directory structure"]; + checkbutton $sf.w -variable Options(warn_dir); pack $sf.w -side left; set sf [op_sframe $w "w_pres" "Port directory missing"]; @@ -795,8 +794,8 @@ # Set program options set Options(version_string) "\# PIB options v1"; - set Options(warn_no_md5) 1; - set Options(warn_no_fdir) 0; + set Options(warn_no_distinfo) 0; + set Options(warn_dir) 1; set Options(warn_no_port) 0; set Options(warn_dup_names) 1; set Options(warn_del_errs) 1; @@ -1899,7 +1898,7 @@ ################################################################################ # df_gather # -# Walk the list of ports and parse the md5 files, build the AllDistfiles and +# Walk the list of ports and parse the distinfo files, build the AllDistfiles and # Checksums arrays. Also walk the collection of present distfiles. # proc df_gather {} { @@ -1930,43 +1929,36 @@ set rate [expr int($psize / (1000 * ([clock seconds] - $stamp) + 1))]; update_pwin df_getdinfo [format "%d/%d ports, %dK/sec" $pports $Status(nports) $rate]; - # Find the md5 file. - if {[catch {set fh [open "$path/files/md5" "r"]}]} { - - # Nope. Perhaps we're dealing with US ITAR braindamage - if {[op_elookup USA_RESIDENT]} { - set aname "$path/files.usa/md5"; - } else { - set aname "$path/files.non_usa/md5"; + # Check there's no old files directory + if {$Options(warn_dir)} { + if {[file isdirectory "$path/patches"]} { + lappend errs "$pname: obsolete patches directory '$path/patches' found"; } + if {[file isdirectory "$path/pkg"]} { + lappend errs "$pname: obsolete package directory '$path/pkg' found"; + } + } - # try again with a new name - if {[catch {set fh [open $aname "r"]}]} { - - # Can't find an md5 file; give up - if {[file isdirectory "$path/files"]} { - if {$Options(warn_no_md5)} { - lappend errs "$pname: '$path/files/md5' not found"; - } - } else { - if {[file isdirectory $path]} { - if {$Options(warn_no_fdir)} { - lappend errs "$pname: '$path/files' not found"; - } - } else { - if {$Options(warn_no_port)} { - lappend errs "$pname: directory missing."; - } - } + # Find the distinfo file. + # XXX How are USA/non-USA md5's handled now? + if {[catch {set fh [open "$path/distinfo" "r"]}]} { + + if {[file isdirectory $path]} { + if {$Options(warn_no_distinfo)} { + lappend errs "$pname: '$path/distinfo' not found"; + } + } else { + if {$Options(warn_no_port)} { + lappend errs "$pname: directory '$path' missing"; } - continue ; # if no port info, assume it's not wanted } + continue ; # if no port info, assume it's not wanted } # initialise state for this port set Ports($pname:distfiles) ""; # list of distfiles for the port - # Process md5 file to get distfiles and checksums + # Process distinfo file to get distfiles and checksums while {[gets $fh line] >= 0} { if {[scan $line "MD5 (%\[^)\]) = %s" df ck] == 2} { # get name and checksum --==_Exmh_-9559119500 Content-Type: text/plain; charset=us-ascii ... every activity meets with opposition, everyone who acts has his rivals and unfortunately opponents also. But not because people want to be opponents, rather because the tasks and relationships force people to take different points of view. [Dr. Fritz Todt] V I C T O R Y N O T V E N G E A N C E --==_Exmh_-9559119500-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200011110428.eAB4SM909717>