tensor5 / arch-atom

Repository of Atom and Electron binary packages for Arch Linux
48 stars 5 forks source link

Setting up an Arch Linux repository using GitHub #16

Closed fusion809 closed 8 years ago

fusion809 commented 8 years ago

Hi,

I've forked your repository (it's not listed as a fork by accident as I deleted the original forked repository from my GitHub account and then created an arch-atom repository and committed my local copy of the original forked repo to it) fusion809/arch-atom so I can provide customized Atom packages. Now I'm mentioning this because I've learnt something you may be interested in, as it may save you some money on hosting your packages at noaxiom.org.

If you tag a release (go to https://github.com/tensor5/arch-atom/releases to do this, if you aren't comfortable tagging from the command-line) and attach your binaries to your tag, along with your database files (i.e., your atom.db, atom.files, atom.db.tar.gz and atom.files.tar.gz files). Then the Server field for one's /etc/pacman.conf file would be https://github.com/tensor5/arch-atom/releases/download/<TAG> where <TAG> is, of course, your tag. For example my first tag was 20160705 so in my /etc/pacman.conf file my repository looks like:

[atom-bleeding]
Server = https://github.com/fusion809/arch-atom/releases/download/20160705/
SigLevel = Optional TrustAll

granted new tags mean new Server values, although you can use just the one tag for all binary releases if you want, but using new tags seems like a better practice.

Hope this helps, Brenton

tensor5 commented 8 years ago

Thank you for the tip; I keep the noaxiom.org server and domain also for other stuff, including the Arch repository [haskell-happstack].

I looked at your fork, and I noticed that one major feature is a custom package choice. I would propose to investigate the possibility to make Arch packages of individual Atom packages that could be installed at system level, not in ~/.atom. That way we could share packages, and you wouldn't need to rebuild Atom every time a new package is released. I'm not sure if it's easy to do it though, or worth the effort.

fusion809 commented 8 years ago

Thanks. You wouldn't happen to know why /usr/lib/node_modules/atom-package-manager/bin/apm update returns:

Could not determine current Atom version installed

would ya? Tried setting the version manually in the /usr/lib/node_modules/atom-package-manager/lib/upgrade.js file, where I set version='1.8.0'.

EDIT: Nvm I've fixed it using this patch:

--- usr/lib/node_modules/atom-package-manager/lib/upgrade.js    2016-07-06 09:48:55.583624369 +1000
+++ /usr/lib/node_modules/atom-package-manager/lib/upgrade.js   2016-07-06 09:57:51.524481607 +1000
@@ -288,7 +285,8 @@
           if (_this.installedAtomVersion) {
             return _this.upgradePackages(options, callback);
           } else {
-            return callback('Could not determine current Atom version installed');
+            _this.installedAtomVersion = '1.8.0';
+            return _this.upgradePackages(options, callback);
           }
         };
       })(this));
tensor5 commented 8 years ago

I think apm requires that atom version is a semantic version, while you have a very very long string.

https://github.com/atom/apm/blob/master/src/upgrade.coffee#L70