Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#12711 closed bug (invalid)

making a file globally writable prevents installation

Reported by: michel Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: - General Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

I am packaging a Java app called SharpTools that has an .ini file. Unfortunately it won't work with my usual trick of putting the .ini in ~/config settings and symlinking that to the one in the app's directory.

If I ignore the .ini file, thereby making the app unable to save changed preferences, it packages and installs perfectly. If I add a section to make the .ini file writable, it packages OK, but on installation it stops halfway with the dreaded "directory not empty" error. in the packages/admin/writable-files directory I can see that a new writable file has been added, but the app does not move to packages, instead staying stuck in transaction-1. This error is reproducible on hrev50183.

Below is my .PackageInfo with the lines in question commented out:

name				sharptools
version				1.4-1
architecture			any


summary			"A java spreadsheet"
Description			"It features full formula support, standard csv file format, printing support, undo/redo, a clipboard, sorting, data exchange with Excel, histogram generation, and a built-in help system.

Packager's note: Printing and help not working in Haiku ATM (but the Help files are included). Database connect not tested. Recent Files and Save Windows also not working ATM.

Seems remarkably stable compared to other Java spreadsheets. This is a very simple spreadsheet - don't expect pivot tables etc. But it gets the basics right.
"


packager			"Michel Clasquin-Johnson <clasqm@gmail.com>"
vendor				"clasqm"
copyrights			"Hua Zhong"
licenses				"GNU GPL v2"
provides {
					sharptools = 1.4-1
}
requires {
					haiku_x86 >= r1~alpha4_pm_hrev49666-1
					openjdk_x86 >= 1.7
}
#global-writable-files {
#					"apps/sharptools/bin/sharptools.ini" auto-merge
#} 
URLs {
					https://sourceforge.net/projects/sharptools/
					http://clasquin-johnson.co.za/michel/haiku
}

Change History (4)

comment:1 Changed 3 years ago by humdinger

I'm not sure that understand global-writable-files correctly (and I didn't have to use them before, so...), but I don't think the above can work, because apps/* is not writable, as it's only virtual. The global-writable-files have to be in a writable area, e.g. settings/* (or possibly the non-packaged area?).

comment:2 Changed 3 years ago by bonefish

Resolution: invalid
Status: newclosed

Yep, indeed. The tool needs to be adjusted to use a location for the .ini file that is writable. Some place in settings/ would be sensible.

comment:3 Changed 3 years ago by michel

OK, so this setting makes something writable that is already writable? My mistake, sorry.

comment:4 in reply to:  3 Changed 3 years ago by bonefish

Replying to michel:

OK, so this setting makes something writable that is already writable?

No, the setting doesn't make anything writable at all. It just declares that the file (included in the package) needs to be placed in the specified writable directory and how it should be handled on package updates.

Note: See TracTickets for help on using tickets.