portupgrade: Good location for flag file?
Simon L. Nielsen
simon at FreeBSD.org
Sat May 21 16:07:03 PDT 2005
On 2005.05.21 15:21:40 +0200, Simon L. Nielsen wrote:
> Hello
>
> To really get portupgrade to work properly again after my patch for
> CAN-2005-0610 (portupgrade 20041226_2) I need to find a good location
> for the pkgdb.fixme flagfile. Before 20041226_2 it was in /tmp or
> /var/tmp but for 20041226_2 it was moved to /var/db/pkg, which turned
> out to be a bad idea (see ports/81088 and mails on this list).
>
> So, I need to have a known static location for pkgdb.fixme which is in
> a directory only writeable by root. So does anyone suggestions on a
> good location? The only ones I can come up with, which are not really
> good, are /var/run or /var/db/portupgrade...
Pav suggested simply using /var/db/pkgdb.fixme, so unless somebody has
a better idea I plan to commit the attached patch within the next
couple of days (when my ports mentor gets back).
I noticed a cosmetic bug when using FreeBSD 6-CURRENT make so a fix
for that is also in the patch...
--
Simon L. Nielsen
-------------- next part --------------
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/sysutils/portupgrade/Makefile,v
retrieving revision 1.195
diff -u -d -r1.195 Makefile
--- Makefile 12 Apr 2005 08:24:48 -0000 1.195
+++ Makefile 5 May 2005 13:27:54 -0000
@@ -7,7 +7,7 @@
PORTNAME= portupgrade
PORTVERSION= 20041226
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= sysutils
MASTER_SITES= ftp://ftp.iDaemons.org/pub/distfiles/ \
${MASTER_SITE_LOCAL}
Index: files/patch-CAN-2005-0610
===================================================================
RCS file: /home/ncvs/ports/sysutils/portupgrade/files/patch-CAN-2005-0610,v
retrieving revision 1.1
diff -u -d -r1.1 patch-CAN-2005-0610
--- files/patch-CAN-2005-0610 12 Apr 2005 08:24:48 -0000 1.1
+++ files/patch-CAN-2005-0610 21 May 2005 22:43:28 -0000
@@ -1,46 +1,29 @@
-diff -ru ../orig.pkgtools-20041224/lib/pkgdb.rb ./lib/pkgdb.rb
+diff -ur ../orig.pkgtools-20041224/lib/pkgdb.rb ./lib/pkgdb.rb
--- ../orig.pkgtools-20041224/lib/pkgdb.rb Wed Mar 23 21:37:47 2005
-+++ ./lib/pkgdb.rb Tue Mar 29 00:27:02 2005
-@@ -97,7 +97,7 @@
++++ ./lib/pkgdb.rb Sun May 22 00:39:38 2005
+@@ -96,8 +96,7 @@
+ @db_dir = File.expand_path(new_db_dir || ENV['PKG_DBDIR'] || '/var/db/pkg')
@db_file = File.join(@db_dir, 'pkgdb.db')
- @tmp_dir = ENV['PKG_TMPDIR'] || ENV['TMPDIR'] || '/var/tmp'
+- @tmp_dir = ENV['PKG_TMPDIR'] || ENV['TMPDIR'] || '/var/tmp'
- @fixme_file = File.join(@tmp_dir, 'pkgdb.fixme')
-+ @fixme_file = File.join(@db_dir, 'pkgdb.fixme')
++ @fixme_file = ENV['PKG_FIXME_FILE'] || "/var/db/pkgdb.fixme"
@db_filebase = @db_file.sub(/\.db$/, '')
close_db
-diff -ru ../orig.pkgtools-20041224/lib/pkgsqldb.rb ./lib/pkgsqldb.rb
---- ../orig.pkgtools-20041224/lib/pkgsqldb.rb Wed Mar 23 21:37:47 2005
-+++ ./lib/pkgsqldb.rb Tue Mar 29 00:29:51 2005
-@@ -74,7 +74,7 @@
-
- @db_file = File.join(@db_dir, 'pkgdb.sqldb')
- @tmp_dir = ENV['PKG_TMPDIR'] || ENV['TMPDIR'] || '/var/tmp'
-- @fixme_file = File.join(@tmp_dir, 'pkgdb.fixme')
-+ @fixme_file = File.join(@db_dir, 'pkgdb.fixme')
- close_db
-
- @db_dir
-diff -ru ../orig.pkgtools-20041224/lib/pkgtools.rb ./lib/pkgtools.rb
---- ../orig.pkgtools-20041224/lib/pkgtools.rb Wed Mar 23 21:37:47 2005
-+++ ./lib/pkgtools.rb Wed Mar 30 23:51:50 2005
-@@ -204,7 +204,7 @@
- $ports_dir = $portsdb.ports_dir
- $packages_base = ENV['PACKAGES'] || File.join($ports_dir, 'packages')
- $packages_dir = File.join($packages_base, 'All')
-- $tmpdir = ENV['PKG_TMPDIR'] || ENV['TMPDIR'] || '/var/tmp'
-+ init_tmpdir
- $pkg_path = ENV['PKG_PATH'] || $packages_dir
-
- $pkg_sites = (ENV['PKG_SITES'] || '').split
-@@ -222,6 +222,31 @@
-
- $portsdb.ignore_categories = config_value(:IGNORE_CATEGORIES) || []
- $portsdb.extra_categories = config_value(:EXTRA_CATEGORIES) || []
-+end
+Only in ./lib: pkgdb.rb~
+diff -ur ../orig.pkgtools-20041224/lib/pkgmisc.rb ./lib/pkgmisc.rb
+--- ../orig.pkgtools-20041224/lib/pkgmisc.rb Wed Mar 23 21:37:47 2005
++++ ./lib/pkgmisc.rb Thu May 5 14:09:37 2005
+@@ -95,3 +95,31 @@
+ end
+ end
+ end
+
+def init_tmpdir
++ if ! $tmpdir.nil? && $tmpdir != "" then
++ return
++ end
+ maintmpdir = ENV['PKG_TMPDIR'] || ENV['TMPDIR'] || '/var/tmp'
+ if !FileTest.directory?(maintmpdir)
+ raise "Temporary directory #{maintmpdir} does not exist"
@@ -63,6 +46,30 @@
+ end
+ }
+ $tmpdir=tmpdir
- end
++end
+diff -ur ../orig.pkgtools-20041224/lib/pkgsqldb.rb ./lib/pkgsqldb.rb
+--- ../orig.pkgtools-20041224/lib/pkgsqldb.rb Wed Mar 23 21:37:47 2005
++++ ./lib/pkgsqldb.rb Sun May 22 00:42:04 2005
+@@ -73,8 +73,7 @@
+ @db_dir = File.expand_path(new_db_dir || ENV['PKG_DBDIR'] || '/var/db/pkg')
- def parse_pattern(str, regex = false)
+ @db_file = File.join(@db_dir, 'pkgdb.sqldb')
+- @tmp_dir = ENV['PKG_TMPDIR'] || ENV['TMPDIR'] || '/var/tmp'
+- @fixme_file = File.join(@tmp_dir, 'pkgdb.fixme')
++ @fixme_file = ENV['PKG_FIXME_FILE'] || "/var/db/pkgdb.fixme"
+ close_db
+
+ @db_dir
+Only in ./lib: pkgsqldb.rb~
+diff -ur ../orig.pkgtools-20041224/lib/pkgtools.rb ./lib/pkgtools.rb
+--- ../orig.pkgtools-20041224/lib/pkgtools.rb Wed Mar 23 21:37:47 2005
++++ ./lib/pkgtools.rb Tue May 3 19:29:59 2005
+@@ -204,7 +204,7 @@
+ $ports_dir = $portsdb.ports_dir
+ $packages_base = ENV['PACKAGES'] || File.join($ports_dir, 'packages')
+ $packages_dir = File.join($packages_base, 'All')
+- $tmpdir = ENV['PKG_TMPDIR'] || ENV['TMPDIR'] || '/var/tmp'
++ init_tmpdir
+ $pkg_path = ENV['PKG_PATH'] || $packages_dir
+
+ $pkg_sites = (ENV['PKG_SITES'] || '').split
Index: files/patch-Makefile.compat
===================================================================
RCS file: files/patch-Makefile.compat
diff -N files/patch-Makefile.compat
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ files/patch-Makefile.compat 21 May 2005 22:47:52 -0000
@@ -0,0 +1,11 @@
+--- ../orig.pkgtools-20041224/Makefile.compat Wed Mar 23 21:37:47 2005
++++ Makefile.compat Sun May 22 00:46:39 2005
+@@ -89,7 +89,7 @@
+ .endif
+ .endif
+
+-.endif defined(${group}) && !empty(${group})
++.endif # defined(${group}) && !empty(${group})
+ .endfor
+
+ .endif
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20050522/3b0941e4/attachment.bin
More information about the freebsd-ports
mailing list