Hello community, here is the log from the commit of package perl-File-BaseDir for openSUSE:Factory checked in at 2015-04-15 16:24:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-File-BaseDir (Old) and /work/SRC/openSUSE:Factory/.perl-File-BaseDir.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-File-BaseDir" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-File-BaseDir/perl-File-BaseDir.changes 2012-03-26 14:03:08.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-File-BaseDir.new/perl-File-BaseDir.changes 2015-04-15 16:24:48.000000000 +0200 @@ -1,0 +2,19 @@ +Tue Apr 14 15:28:17 UTC 2015 - [email protected] + +- updated to 0.06 + see /usr/share/doc/packages/perl-File-BaseDir/Changes + + 0.06 6 Apr 2015 + Added prerequsitie module build_requires section of Build.PL + + 0.05 4 Apr 2015 + Added prerequsitie module to Build.PL + + 0.04 3 Apr 2015 + Fix for RT bug #41744 . Remove warning message when $ENV{HOME} is not defined + Fix for RT bugs # 88502 and #54929, typos corrected + Fix for RT bug #41744 . Remove warning message when $ENV{HOME} is not defined + Fix for RT bugs #50343, added more functionality + Fixed some OS depedendancies in test suite. + +------------------------------------------------------------------- Old: ---- File-BaseDir-0.03.tar.gz New: ---- File-BaseDir-0.06.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-File-BaseDir.spec ++++++ --- /var/tmp/diff_new_pack.eFMjyR/_old 2015-04-15 16:24:48.000000000 +0200 +++ /var/tmp/diff_new_pack.eFMjyR/_new 2015-04-15 16:24:48.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-File-BaseDir # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,20 +17,22 @@ Name: perl-File-BaseDir -Version: 0.03 +Version: 0.06 Release: 0 %define cpan_name File-BaseDir Summary: Use the Freedesktop.org base directory specification License: Artistic-1.0 or GPL-1.0+ Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/File-BaseDir/ -Source: http://www.cpan.org/authors/id/P/PA/PARDUS/%{cpan_name}-%{version}.tar.gz +Source: http://www.cpan.org/authors/id/K/KI/KIMRYAN/%{cpan_name}-%{version}.tar.gz BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros +BuildRequires: perl(File::Which) +BuildRequires: perl(IPC::System::Simple) BuildRequires: perl(Module::Build) >= 0.24 -#BuildRequires: perl(File::BaseDir) +Requires: perl(IPC::System::Simple) %{perl_requires} %description @@ -47,7 +49,6 @@ %prep %setup -q -n %{cpan_name}-%{version} -find . -type f -print0 | xargs -0 chmod 644 %build %{__perl} Build.PL installdirs=vendor ++++++ File-BaseDir-0.03.tar.gz -> File-BaseDir-0.06.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-BaseDir-0.03/Build.PL new/File-BaseDir-0.06/Build.PL --- old/File-BaseDir-0.03/Build.PL 2007-10-24 21:57:22.000000000 +0200 +++ new/File-BaseDir-0.06/Build.PL 2015-04-05 03:33:22.000000000 +0200 @@ -11,13 +11,14 @@ 'Carp' => 0, 'Exporter' => 0, 'File::Spec' => 0, + 'IPC::System::Simple' => 0 }, build_requires => { 'Module::Build' => '0.24', 'Test::More' => 0, + 'File::Which' => 0 }, - create_makefile_pl => 'passthrough', - #dynamic_config => 1, + create_makefile_pl => 'small', ); $build->create_build_script; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-BaseDir-0.03/Changes new/File-BaseDir-0.06/Changes --- old/File-BaseDir-0.03/Changes 2007-10-24 21:57:22.000000000 +0200 +++ new/File-BaseDir-0.06/Changes 2015-04-06 04:56:25.000000000 +0200 @@ -1,5 +1,19 @@ Revision history for Perl extension File::BaseDir. +0.06 6 Apr 2015 + Added prerequsitie module build_requires section of Build.PL + +0.05 4 Apr 2015 + Added prerequsitie module to Build.PL + +0.04 3 Apr 2015 + Fix for RT bug #41744 . Remove warning message when $ENV{HOME} is not defined + Fix for RT bugs # 88502 and #54929, typos corrected + Fix for RT bug #41744 . Remove warning message when $ENV{HOME} is not defined + Fix for RT bugs #50343, added more functionality + Fixed some OS depedendancies in test suite. + + 0.03 Wed Oct 24 2007 - Added lookup methods for files and dirs: data_home, data_files, data_dirs, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-BaseDir-0.03/MANIFEST new/File-BaseDir-0.06/MANIFEST --- old/File-BaseDir-0.03/MANIFEST 2007-10-24 21:57:22.000000000 +0200 +++ new/File-BaseDir-0.06/MANIFEST 2015-04-03 02:31:19.000000000 +0200 @@ -2,6 +2,8 @@ Changes configure lib/File/BaseDir.pm +lib/File/IconTheme.pm +lib/File/UserDirs.pm Makefile.PL MANIFEST This list of files META.yml @@ -9,5 +11,8 @@ t/01_vars.t t/02_lookup.t t/03_OO.t +t/03_icontheme.t +t/03_userdirs.t t/04_pod_ok.t t/05_pod_cover.t +META.json diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-BaseDir-0.03/META.json new/File-BaseDir-0.06/META.json --- old/File-BaseDir-0.03/META.json 1970-01-01 01:00:00.000000000 +0100 +++ new/File-BaseDir-0.06/META.json 2015-04-06 04:57:40.000000000 +0200 @@ -0,0 +1,59 @@ +{ + "abstract" : "Use the Freedesktop.org base directory specification", + "author" : [ + "Jaap Karssenberg <[email protected]>" + ], + "dynamic_config" : 1, + "generated_by" : "Module::Build version 0.421", + "license" : [ + "perl_5" + ], + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : "2" + }, + "name" : "File-BaseDir", + "prereqs" : { + "build" : { + "requires" : { + "File::Which" : "0", + "Module::Build" : "0.24", + "Test::More" : "0" + } + }, + "configure" : { + "requires" : { + "Module::Build" : "0.42" + } + }, + "runtime" : { + "requires" : { + "Carp" : "0", + "Exporter" : "0", + "File::Spec" : "0", + "IPC::System::Simple" : "0" + } + } + }, + "provides" : { + "File::BaseDir" : { + "file" : "lib/File/BaseDir.pm", + "version" : "0.06" + }, + "File::IconTheme" : { + "file" : "lib/File/IconTheme.pm", + "version" : "0.06" + }, + "File::UserDirs" : { + "file" : "lib/File/UserDirs.pm", + "version" : "0.06" + } + }, + "release_status" : "stable", + "resources" : { + "license" : [ + "http://dev.perl.org/licenses/" + ] + }, + "version" : "0.06" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-BaseDir-0.03/META.yml new/File-BaseDir-0.06/META.yml --- old/File-BaseDir-0.03/META.yml 2007-10-24 21:57:22.000000000 +0200 +++ new/File-BaseDir-0.06/META.yml 2015-04-06 04:57:40.000000000 +0200 @@ -1,24 +1,35 @@ ---- -name: File-BaseDir -version: 0.03 -author: - - 'Jaap Karssenberg <[email protected]>' -abstract: Use the Freedesktop.org base directory specification -license: perl -resources: - license: http://dev.perl.org/licenses/ -requires: - Carp: 0 - Exporter: 0 - File::Spec: 0 -build_requires: - Module::Build: 0.24 - Test::More: 0 -provides: - File::BaseDir: - file: lib/File/BaseDir.pm - version: 0.03 -generated_by: Module::Build version 0.2806 -meta-spec: - url: http://module-build.sourceforge.net/META-spec-v1.2.html - version: 1.2 +--- +abstract: 'Use the Freedesktop.org base directory specification' +author: + - 'Jaap Karssenberg <[email protected]>' +build_requires: + File::Which: '0' + Module::Build: '0.24' + Test::More: '0' +configure_requires: + Module::Build: '0.42' +dynamic_config: 1 +generated_by: 'Module::Build version 0.421, CPAN::Meta::Converter version 2.142060' +license: perl +meta-spec: + url: http://module-build.sourceforge.net/META-spec-v1.4.html + version: '1.4' +name: File-BaseDir +provides: + File::BaseDir: + file: lib/File/BaseDir.pm + version: '0.06' + File::IconTheme: + file: lib/File/IconTheme.pm + version: '0.06' + File::UserDirs: + file: lib/File/UserDirs.pm + version: '0.06' +requires: + Carp: '0' + Exporter: '0' + File::Spec: '0' + IPC::System::Simple: '0' +resources: + license: http://dev.perl.org/licenses/ +version: '0.06' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-BaseDir-0.03/Makefile.PL new/File-BaseDir-0.06/Makefile.PL --- old/File-BaseDir-0.03/Makefile.PL 2007-10-24 21:57:22.000000000 +0200 +++ new/File-BaseDir-0.06/Makefile.PL 2015-04-06 04:57:40.000000000 +0200 @@ -1,31 +1,6 @@ -# Note: this file was auto-generated by Module::Build::Compat version 0.03 - - unless (eval "use Module::Build::Compat 0.02; 1" ) { - print "This module requires Module::Build to install itself.\n"; - - require ExtUtils::MakeMaker; - my $yn = ExtUtils::MakeMaker::prompt - (' Install Module::Build now from CPAN?', 'y'); - - unless ($yn =~ /^y/i) { - die " *** Cannot install without Module::Build. Exiting ...\n"; - } - - require Cwd; - require File::Spec; - require CPAN; - - # Save this 'cause CPAN will chdir all over the place. - my $cwd = Cwd::cwd(); - - CPAN::Shell->install('Module::Build::Compat'); - CPAN::Shell->expand("Module", "Module::Build::Compat")->uptodate - or die "Couldn't install Module::Build, giving up.\n"; - - chdir $cwd or die "Cannot chdir() back to $cwd: $!"; - } - eval "use Module::Build::Compat 0.02; 1" or die $@; - - Module::Build::Compat->run_build_pl(args => \@ARGV); - require Module::Build; - Module::Build::Compat->write_makefile(build_class => 'Module::Build'); +# Note: this file was auto-generated by Module::Build::Compat version 0.4210 + use Module::Build::Compat 0.02; + + Module::Build::Compat->run_build_pl(args => \@ARGV); + require Module::Build; + Module::Build::Compat->write_makefile(build_class => 'Module::Build'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-BaseDir-0.03/lib/File/BaseDir.pm new/File-BaseDir-0.06/lib/File/BaseDir.pm --- old/File-BaseDir-0.03/lib/File/BaseDir.pm 2007-10-24 21:57:22.000000000 +0200 +++ new/File-BaseDir-0.06/lib/File/BaseDir.pm 2015-04-06 04:56:32.000000000 +0200 @@ -5,7 +5,7 @@ require File::Spec; require Exporter; -our $VERSION = 0.03; +our $VERSION = 0.06; our @ISA = qw(Exporter); our %EXPORT_TAGS = ( @@ -34,7 +34,8 @@ } my $home = $ENV{HOME}; unless ($home) { - warn "WARNING: HOME is not set, using root: $rootdir\n"; + # Default to operating system's home dir. NOTE: web applications may not have $ENV{HOME} assigned, + # so don't issue a warning. See RT bug #41744 $home = $rootdir; } @@ -111,7 +112,7 @@ return grep { &$type( $_ ) && -r $_ } map { File::Spec->catfile($_, @$file) } @_; } - else { # prevent unnessecary stats by returning early + else { # prevent unnecessary stats by returning early for (@_) { my $path = File::Spec->catfile($_, @$file); return $path if &$type($path) && -r $path; @@ -263,19 +264,19 @@ =head1 NON-UNIX PLATFORMS -The use of L<File::Spec> ensures that all paths are returned in the apropriate +The use of L<File::Spec> ensures that all paths are returned in the appropriate form for the current platform. On Windows this module will try to set C<$HOME> to a sensible value if it is not defined yet. On other platforms one can use e.g. L<File::HomeDir> to set $HOME before loading File::BaseDir. Please note that the specification is targeting Unix platforms only and -will only have limited relevance on other platforms. Any platform dependend -behavior in this module should be considerd an extension of the spec. +will only have limited relevance on other platforms. Any platform dependent +behavior in this module should be considered an extension of the spec. =head1 BACKWARDS COMPATIBILITY The methods C<xdg_data_files()> and C<xdg_config_files()> are exported for -backwards compatibilty with version 0.02. They are identical to C<data_files()> +backwards compatibility with version 0.02. They are identical to C<data_files()> and C<config_files()> respectively but without the C<wantarray> behavior. =head1 BUGS @@ -290,6 +291,8 @@ This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. +Currently being maintained by Kim Ryan + =head1 SEE ALSO L<http://www.freedesktop.org/wiki/Specifications/basedir-spec> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-BaseDir-0.03/lib/File/IconTheme.pm new/File-BaseDir-0.06/lib/File/IconTheme.pm --- old/File-BaseDir-0.03/lib/File/IconTheme.pm 1970-01-01 01:00:00.000000000 +0100 +++ new/File-BaseDir-0.06/lib/File/IconTheme.pm 2015-04-06 04:56:43.000000000 +0200 @@ -0,0 +1,66 @@ +package File::IconTheme; +use strict; +use warnings FATAL => 'all'; +use File::BaseDir qw(data_dirs); +require File::Spec; +use parent qw(Exporter); + +our $VERSION = '0.06'; +our @EXPORT_OK = qw(xdg_icon_theme_search_dirs); + +sub xdg_icon_theme_search_dirs { + return grep {-d $_ && -r $_} + File::Spec->catfile($ENV{HOME}, '.icons'), + data_dirs('icons'), + '/usr/share/pixmaps'; +} + +1; + +__END__ + +=head1 NAME + +File::IconTheme - find icon directories + +=head1 VERSION + +This document describes File::IconTheme. + +=head1 SYNOPSIS + + use File::IconTheme qw(xdg_icon_theme_search_dirs); + print join "\n", xdg_icon_theme_search_dirs; + +=head1 DESCRIPTION + +This module can be used to find directories as specified +by the Freedesktop.org Icon Theme Specification. Currently only a tiny +(but most useful) part of the specification is implemented. + +In case you want to B<store> an icon theme, use the directory returned by: + + use File::BaseDir qw(data_dirs); + print scalar data_dirs('icons'); + +=head1 INTERFACE + +=over + +=item C<xdg_icon_theme_search_dirs> + +Returns a list of the base directories of icon themes. + +=back + +=head1 EXPORTS + +None by default, but the method can be exported on demand. + +=head1 CONFIGURATION AND ENVIRONMENT + +C<$XDG_DATA_HOME>, C<$XDG_DATA_DIRS> + +=head1 SEE ALSO + +L<http://standards.freedesktop.org/icon-theme-spec/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-BaseDir-0.03/lib/File/UserDirs.pm new/File-BaseDir-0.06/lib/File/UserDirs.pm --- old/File-BaseDir-0.03/lib/File/UserDirs.pm 1970-01-01 01:00:00.000000000 +0100 +++ new/File-BaseDir-0.06/lib/File/UserDirs.pm 2015-04-06 04:56:37.000000000 +0200 @@ -0,0 +1,144 @@ +package File::UserDirs; +use strict; +use warnings FATAL => 'all'; +use IPC::System::Simple qw(capturex); +use parent qw(Exporter); + +our $VERSION = '0.06'; +our %EXPORT_TAGS = ( + all => [ + qw(xdg_desktop_dir xdg_documents_dir xdg_download_dir xdg_music_dir + xdg_pictures_dir xdg_publicshare_dir xdg_templates_dir xdg_videos_dir) + ]); +our @EXPORT_OK = @{$EXPORT_TAGS{all}}; + + +sub _xdg_user_dir { + my ($purpose) = @_; + my $dir = capturex 'xdg-user-dir', $purpose; + chomp $dir; + return $dir; +} + +sub xdg_desktop_dir {return _xdg_user_dir 'DESKTOP';} +sub xdg_documents_dir {return _xdg_user_dir 'DOCUMENTS';} +sub xdg_download_dir {return _xdg_user_dir 'DOWNLOAD';} +sub xdg_music_dir {return _xdg_user_dir 'MUSIC';} +sub xdg_pictures_dir {return _xdg_user_dir 'PICTURES';} +sub xdg_publicshare_dir {return _xdg_user_dir 'PUBLICSHARE';} +sub xdg_templates_dir {return _xdg_user_dir 'TEMPLATES';} +sub xdg_videos_dir {return _xdg_user_dir 'VIDEOS';} + +1; + +__END__ + +=head1 NAME + +File::UserDirs - find extra media and documents directories + +=head1 VERSION + +This document describes File::UserDirs version C<0.04>. + +=head1 SYNOPSIS + + use File::UserDirs qw(:all); + print xdg_desktop_dir; # e.g. /home/user/Desktop + +=head1 DESCRIPTION + +This module can be used to find directories as informally specified +by the Freedesktop.org xdg-user-dirs software. This +gives a mechanism to locate extra directories for media and documents files. + +=head1 INTERFACE + +=over + +=item C<xdg_desktop_dir> + +Returns the desktop directory. Unless changed by the user, +this is the directory F<Desktop> in the home directory. + +=item C<xdg_documents_dir> + +Returns the documents directory. Unless changed by the user, +this is the home directory. + +=item C<xdg_download_dir> + +Returns the download directory. Unless changed by the user, +this is the home directory. + +=item C<xdg_music_dir> + +Returns the music directory. Unless changed by the user, +this is the home directory. + +=item C<xdg_pictures_dir> + +Returns the pictures directory. Unless changed by the user, +this is the home directory. + +=item C<xdg_publicshare_dir> + +Returns the public share directory. Unless changed by the user, +this is the home directory. + +=item C<xdg_templates_dir> + +Returns the templates directory. Unless changed by the user, +this is the home directory. + +=item C<xdg_videos_dir> + +Returns the videos directory. Unless changed by the user, +this is the home directory. + +=back + +=head1 EXPORTS + +None by default, but any method can be exported on demand. +Also the group C<:all> is defined which exports all methods. + +=head1 DIAGNOSTICS + +=over + +=item C<"xdg-user-dir" failed to start: %s> + +The executable C<xdg-user-dir> could not be run, most likely because it was not +installed. See L</"DEPENDENCIES">. + +=back + +=head1 CONFIGURATION AND ENVIRONMENT + +The location of the directories can be specified by the user in the file +F<$XDG_CONFIG_HOME/user-dirs.dirs>. It is a shell file setting a number of +environment variables. To find the exact pathname from Perl, run: + + use File::BaseDir qw(config_home); + print config_home('user-dirs.dirs'); + +=head2 Example customised F<user-dirs.dirs> + + XDG_DESKTOP_DIR="$HOME/Workspace" + XDG_DOCUMENTS_DIR="$HOME/Files" + XDG_DOWNLOAD_DIR="$HOME/Files/Downloads" + XDG_MUSIC_DIR="$HOME/Files/Audio" + XDG_PICTURES_DIR="$HOME/Files/Images" + XDG_PUBLICSHARE_DIR="$HOME/public_html" + XDG_TEMPLATES_DIR="$HOME/Files/Document templates" + XDG_VIDEOS_DIR="$HOME/Files/Video" + +=head1 DEPENDENCIES + +This module requires the executable F<xdg-user-dir> from the package +C<xdg-user-dirs>. Source code is available from +L<http://cgit.freedesktop.org/xdg/xdg-user-dirs/>. + +=head1 SEE ALSO + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-BaseDir-0.03/t/03_icontheme.t new/File-BaseDir-0.06/t/03_icontheme.t --- old/File-BaseDir-0.03/t/03_icontheme.t 1970-01-01 01:00:00.000000000 +0100 +++ new/File-BaseDir-0.06/t/03_icontheme.t 2015-04-03 05:05:40.000000000 +0200 @@ -0,0 +1,31 @@ +#!perl +use strict; +use warnings FATAL => 'all'; +use Test::More; +use Config; +use File::IconTheme qw(xdg_icon_theme_search_dirs); +require File::Spec; +use File::Temp qw(); + +if ($^O eq 'MSWin32') { + plan skip_all => 'File path comparisons cannot be made on MS Windows operating system.'; +} +else { + plan tests => 1; +} + +my @dirs = map {File::Temp->newdir} 0 .. 2; +my @icondirs = map {File::Spec->catfile($_, 'icons')} @dirs; +mkdir $_ for @icondirs; + +$ENV{XDG_DATA_HOME} = $dirs[0]; +$ENV{XDG_DATA_DIRS} = $dirs[1] . $Config{path_sep} . $dirs[2]; + +is_deeply + [xdg_icon_theme_search_dirs], + [grep {-d $_ && -r $_} + File::Spec->catfile($ENV{HOME}, '.icons'), + @icondirs, + '/usr/share/pixmaps' + ]; + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/File-BaseDir-0.03/t/03_userdirs.t new/File-BaseDir-0.06/t/03_userdirs.t --- old/File-BaseDir-0.03/t/03_userdirs.t 1970-01-01 01:00:00.000000000 +0100 +++ new/File-BaseDir-0.06/t/03_userdirs.t 2015-04-03 02:03:31.000000000 +0200 @@ -0,0 +1,54 @@ +#!perl +use strict; +use warnings FATAL => 'all'; +use Test::More; +use File::UserDirs qw(:all); +use File::BaseDir qw(config_home); +use File::Spec::Functions qw(catfile); +use File::Which qw(which); + +my $xdg_user_dir_installed = 0; +if (which 'xdg-user-dir') { + plan tests => 8; + $xdg_user_dir_installed = 0; +} else { + plan skip_all => '"xdg-user-dir" executable not found. Install package "xdg-user-dirs".'; + +} + +my $udd = config_home('user-dirs.dirs'); +if (-e $udd) { + rename $udd, "$udd~" or die "could not make backup of $udd: $!"; +} + +open my $fh, '>', $udd or die "could not open $udd for writing: $!"; +print $fh <<'UDD'; +XDG_DESKTOP_DIR="$HOME/Workspace" +XDG_DOCUMENTS_DIR="$HOME/Files" +XDG_DOWNLOAD_DIR="$HOME/Files/Downloads" +XDG_MUSIC_DIR="$HOME/Files/Audio" +XDG_PICTURES_DIR="$HOME/Files/Images" +XDG_PUBLICSHARE_DIR="$HOME/public_html" +XDG_TEMPLATES_DIR="$HOME/Files/Document templates" +XDG_VIDEOS_DIR="$HOME/Files/Video" +UDD +close $fh; + +is xdg_desktop_dir, catfile($ENV{HOME}, 'Workspace'); +is xdg_documents_dir, catfile($ENV{HOME}, 'Files'); +is xdg_download_dir, catfile($ENV{HOME}, 'Files/Downloads'); +is xdg_music_dir, catfile($ENV{HOME}, 'Files/Audio'); +is xdg_pictures_dir, catfile($ENV{HOME}, 'Files/Images'); +is xdg_publicshare_dir, catfile($ENV{HOME}, 'public_html'); +is xdg_templates_dir, catfile($ENV{HOME}, 'Files/Document templates'); +is xdg_videos_dir, catfile($ENV{HOME}, 'Files/Video'); + +END { + if ($xdg_user_dir_installed) { + if (-e "$udd~") { + rename "$udd~", $udd or die "could not restore backup of $udd: $!"; + } else { + unlink $udd or die "could not delete $udd: $!"; + } + } +} \ No newline at end of file
