[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ledgersmb.spec in version 1.4.20



Hi David
I just run a quick find command and found 3 files with spaces in there names. These are dojo demos files, so they might not be important after all. Here they are:
UI/lib/dojo/dojox/data/demos/geography/United\ States\ of\ America
UI/lib/dojo/dojox/data/demos/geography/Commonwealth\ of\ Australia
UI/lib/dojo/dojox/data/demos/geography/Mexico/Mexico\ City

The "\" is added by find -ls as it escapes "unusual characters". The problem with the chmod the way it is done is it executes in one shot on all the files of the distribution. So if there is only one file with a space in the name it will fail which it does right now.

As for the symbolic link the following command
    ln -s /usr/share/dojo $RPM_BUILD_ROOT%{_datadir}/%{name}/UI/lib/dojo

will create a symbolic link named UI/lib/dojo but the directory already exists as you can see above where files have spaces in their names. So, in my opinion the command should be rewritten to create /usr/share/dojo symbolic link instead.

As I said, I have never created an RPM out of this package before and I am still running ledgermsb 1.2. for my business needs. The reason I am trying to create a package is to automate the creation of KVM virtual machines that run only ledgersmb. So I want the package to be installed during the build.

Regards
Khalil FOUNDY



Le vendredi 4 décembre 2015 18h59, David G <..hidden..> a écrit :


Hi Khalil,

Others will comment on the changes as well, although I think the chmod change looks fine.

The symlink (ln -s) on the other hand can not be removed.
It is (as of 1.4) an essential part of the project as dojo is used to provide User Interface features.

I am more interested in what files the chmod fails on, if any, within the project.

In general I agree that we shouldn't have a bug with spaces in paths.
However I don't believe we should have any files within the project that have spaces in their names or paths.

In general, spaces in filenames / paths is a bad thing as it can cause difficult to locate bugs if a library (script, binary or other) fails to handle it correctly.

No *nix system that I am aware of uses spaces in paths or filenames unless a user has specifically created such a beast.

Regards
David G

On 05/12/15 04:05, Khalil Foundy wrote:
I don't know if this has been discussed here before or not. I haven't red this mailing list for a while and I have never generated an RPM package for ledgersmb before today. So bare with me please.
Anyway, I found a bug in ledgersmb and here it is. First the two chmod fail when they encounter files with space in their names. And second the symbolic link creation I don't know what it is for, so I commented it out. Please let me know if that's a mistake.

Here's a diff:

*** ledgersmb.spec.orig 2015-12-04 14:53:38.754402395 -0500
--- ledgersmb.spec 2015-12-04 14:50:56.402822290 -0500
***************
*** 62,69 ****
  %prep
  %setup -q -n ledgersmb
  
! chmod 0644 $(find . -type f)
! chmod 0755 $(find . -type d)
  chmod +x *.pl
  chmod -x custom.pl # FIXME: Config???
  chmod +x utils/*/*.pl utils/devel/find-use utils/pos/pos-hardware-client-startup-script
--- 62,69 ----
  %prep
  %setup -q -n ledgersmb
  
! find . -type f -exec chmod 0644 {} \;
! find . -type d -exec chmod 0755 {} \;
  chmod +x *.pl
  chmod -x custom.pl # FIXME: Config???
  chmod +x utils/*/*.pl utils/devel/find-use utils/pos/pos-hardware-client-startup-script
***************
*** 141,147 ****
  install -m 644 rpm-ledgersmb-httpd.conf \
    $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/ledgersmb.conf
  
! ln -s /usr/share/dojo $RPM_BUILD_ROOT%{_datadir}/%{name}/UI/lib/dojo
  
  %clean
  rm -rf $RPM_BUILD_ROOT
--- 141,147 ----
  install -m 644 rpm-ledgersmb-httpd.conf \
    $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/ledgersmb.conf
  
! #ln -s /usr/share/dojo $RPM_BUILD_ROOT%{_datadir}/%{name}/UI/lib/dojo
  
  %clean
  rm -rf $RPM_BUILD_ROOT

Khalil FOUNDY


------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140


_______________________________________________
Ledger-smb-users mailing list
..hidden..
https://lists.sourceforge.net/lists/listinfo/ledger-smb-users


------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140

_______________________________________________
Ledger-smb-users mailing list
..hidden..
https://lists.sourceforge.net/lists/listinfo/ledger-smb-users


------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
Ledger-smb-users mailing list
..hidden..
https://lists.sourceforge.net/lists/listinfo/ledger-smb-users