@@ -79,11 +79,43 @@ Program.command("cli", { isDefault: true })
7979
8080 if ( ! existsSync ( join ( root , "../repo/src" ) ) ) mkdirSync ( join ( root , "../repo/src" ) ) ;
8181 if ( existsSync ( join ( root , "../repo/src" , `hoobs-cli-v${ pjson . version } .tar.gz` ) ) ) unlinkSync ( join ( root , "../repo/src" , `hoobs-cli-v${ pjson . version } .tar.gz` ) )
82- if ( existsSync ( join ( root , "../repo" , repo ) ) ) unlinkSync ( join ( root , "../repo" , repo ) )
8382
8483 moveSync ( join ( root , "dist" , `hoobs-cli-v${ pjson . version } .tar.gz` ) , join ( root , "../repo/src" , `hoobs-cli-v${ pjson . version } .tar.gz` ) ) ;
85- copyFileSync ( join ( root , "bin" , repo ) , join ( root , "../repo" , repo ) ) ;
86- execSync ( `chmod 755 ${ join ( root , "../repo" , repo ) } ` , { cwd : root , stdio : "inherit" } ) ;
84+
85+ switch ( repo ) {
86+ case "stable" :
87+ if ( existsSync ( join ( root , "../repo/stable" ) ) ) unlinkSync ( join ( root , "../repo/stable" ) ) ;
88+ if ( existsSync ( join ( root , "../repo/edge" ) ) ) unlinkSync ( join ( root , "../repo/edge" ) ) ;
89+ if ( existsSync ( join ( root , "../repo/bleeding" ) ) ) unlinkSync ( join ( root , "../repo/bleeding" ) ) ;
90+
91+ copyFileSync ( join ( root , "bin/stable" ) , join ( root , "../repo" , "stable" ) ) ;
92+ copyFileSync ( join ( root , "bin/edge" ) , join ( root , "../repo" , "edge" ) ) ;
93+ copyFileSync ( join ( root , "bin/bleeding" ) , join ( root , "../repo/bleeding" ) ) ;
94+
95+ execSync ( `chmod 755 ${ join ( root , "../repo/stable" ) } ` , { cwd : root , stdio : "inherit" } ) ;
96+ execSync ( `chmod 755 ${ join ( root , "../repo/edge" ) } ` , { cwd : root , stdio : "inherit" } ) ;
97+ execSync ( `chmod 755 ${ join ( root , "../repo/bleeding" ) } ` , { cwd : root , stdio : "inherit" } ) ;
98+ break ;
99+
100+ case "edge" :
101+ if ( existsSync ( join ( root , "../repo/edge" ) ) ) unlinkSync ( join ( root , "../repo/edge" ) ) ;
102+ if ( existsSync ( join ( root , "../repo/bleeding" ) ) ) unlinkSync ( join ( root , "../repo/bleeding" ) ) ;
103+
104+ copyFileSync ( join ( root , "bin/edge" ) , join ( root , "../repo/edge" ) ) ;
105+ copyFileSync ( join ( root , "bin/bleeding" ) , join ( root , "../repo/bleeding" ) ) ;
106+
107+ execSync ( `chmod 755 ${ join ( root , "../repo/edge" ) } ` , { cwd : root , stdio : "inherit" } ) ;
108+ execSync ( `chmod 755 ${ join ( root , "../repo/bleeding" ) } ` , { cwd : root , stdio : "inherit" } ) ;
109+ break ;
110+
111+ default :
112+ if ( existsSync ( join ( root , "../repo/bleeding" ) ) ) unlinkSync ( join ( root , "../repo/bleeding" ) ) ;
113+
114+ copyFileSync ( join ( root , "bin/bleeding" ) , join ( root , "../repo/bleeding" ) ) ;
115+ execSync ( `chmod 755 ${ join ( root , "../repo/bleeding" ) } ` , { cwd : root , stdio : "inherit" } ) ;
116+ break ;
117+ }
118+
87119 mkdirSync ( join ( root , "dist/DEBIAN" ) ) ;
88120
89121 let control = "" ;
@@ -100,15 +132,58 @@ Program.command("cli", { isDefault: true })
100132 control += "Description: Command line interface for the certified HOOBS smart home stack.\n" ;
101133
102134 writeFileSync ( join ( root , "dist/DEBIAN/control" ) , control ) ;
135+
103136 copyFileSync ( join ( root , "bin" , "postinst" ) , join ( root , "dist/DEBIAN" , "postinst" ) ) ;
137+
104138 execSync ( `chmod 755 ${ join ( root , "dist/DEBIAN" , "postinst" ) } ` , { cwd : root , stdio : "inherit" } ) ;
105139 execSync ( "dpkg-deb --build dist" , { cwd : root , stdio : "inherit" } ) ;
106140
107- if ( ! existsSync ( join ( root , "../repo/deb" , repo ) ) ) mkdirSync ( join ( root , "../repo/deb" , repo ) ) ;
108- if ( existsSync ( join ( root , "../repo/deb" , repo , `hoobs-cli-v${ pjson . version } .deb` ) ) ) unlinkSync ( join ( root , "../repo/deb" , repo , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
141+ switch ( repo ) {
142+ case "stable" :
143+ if ( ! existsSync ( join ( root , "../repo/deb/stable" ) ) ) mkdirSync ( join ( root , "../repo/deb/stable" ) ) ;
144+ if ( ! existsSync ( join ( root , "../repo/deb/edge" ) ) ) mkdirSync ( join ( root , "../repo/deb/edge" ) ) ;
145+ if ( ! existsSync ( join ( root , "../repo/deb/bleeding" ) ) ) mkdirSync ( join ( root , "../repo/deb/bleeding" ) ) ;
146+
147+ if ( existsSync ( join ( root , "../repo/deb/stable" , `hoobs-cli-v${ pjson . version } .deb` ) ) ) unlinkSync ( join ( root , "../repo/deb/stable" , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
148+ if ( existsSync ( join ( root , "../repo/deb/edge" , `hoobs-cli-v${ pjson . version } .deb` ) ) ) unlinkSync ( join ( root , "../repo/deb/edge" , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
149+ if ( existsSync ( join ( root , "../repo/deb/bleeding" , `hoobs-cli-v${ pjson . version } .deb` ) ) ) unlinkSync ( join ( root , "../repo/deb/bleeding" , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
150+
151+ copyFileSync ( join ( root , "dist.deb" ) , join ( root , "../repo/deb/stable" , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
152+ copyFileSync ( join ( root , "dist.deb" ) , join ( root , "../repo/deb/edge" , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
153+ copyFileSync ( join ( root , "dist.deb" ) , join ( root , "../repo/deb/bleeding" , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
154+
155+ unlinkSync ( join ( root , "dist.deb" ) ) ;
156+
157+ execSync ( `dpkg-sig --sign builder ${ join ( root , "../repo/deb/stable" , `hoobs-cli-v${ pjson . version } .deb` ) } ` , { cwd : root , stdio : "inherit" } ) ;
158+ execSync ( `dpkg-sig --sign builder ${ join ( root , "../repo/deb/edge" , `hoobs-cli-v${ pjson . version } .deb` ) } ` , { cwd : root , stdio : "inherit" } ) ;
159+ execSync ( `dpkg-sig --sign builder ${ join ( root , "../repo/deb/bleeding" , `hoobs-cli-v${ pjson . version } .deb` ) } ` , { cwd : root , stdio : "inherit" } ) ;
160+ break ;
161+
162+ case "edge" :
163+ if ( ! existsSync ( join ( root , "../repo/deb/edge" ) ) ) mkdirSync ( join ( root , "../repo/deb/edge" ) ) ;
164+ if ( ! existsSync ( join ( root , "../repo/deb/bleeding" ) ) ) mkdirSync ( join ( root , "../repo/deb/bleeding" ) ) ;
165+
166+ if ( existsSync ( join ( root , "../repo/deb/edge" , `hoobs-cli-v${ pjson . version } .deb` ) ) ) unlinkSync ( join ( root , "../repo/deb/edge" , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
167+ if ( existsSync ( join ( root , "../repo/deb/bleeding" , `hoobs-cli-v${ pjson . version } .deb` ) ) ) unlinkSync ( join ( root , "../repo/deb/bleeding" , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
168+
169+ copyFileSync ( join ( root , "dist.deb" ) , join ( root , "../repo/deb/edge" , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
170+ copyFileSync ( join ( root , "dist.deb" ) , join ( root , "../repo/deb/bleeding" , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
171+
172+ unlinkSync ( join ( root , "dist.deb" ) ) ;
173+
174+ execSync ( `dpkg-sig --sign builder ${ join ( root , "../repo/deb/edge" , `hoobs-cli-v${ pjson . version } .deb` ) } ` , { cwd : root , stdio : "inherit" } ) ;
175+ execSync ( `dpkg-sig --sign builder ${ join ( root , "../repo/deb/bleeding" , `hoobs-cli-v${ pjson . version } .deb` ) } ` , { cwd : root , stdio : "inherit" } ) ;
176+ break ;
177+
178+ default :
179+ if ( ! existsSync ( join ( root , "../repo/deb/bleeding" ) ) ) mkdirSync ( join ( root , "../repo/deb/bleeding" ) ) ;
180+ if ( existsSync ( join ( root , "../repo/deb/bleeding" , `hoobs-cli-v${ pjson . version } .deb` ) ) ) unlinkSync ( join ( root , "../repo/deb/bleeding" , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
109181
110- moveSync ( join ( root , "dist.deb" ) , join ( root , "../repo/deb" , repo , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
111- execSync ( `dpkg-sig --sign builder ${ join ( root , "../repo/deb" , repo , `hoobs-cli-v${ pjson . version } .deb` ) } ` , { cwd : root , stdio : "inherit" } ) ;
182+ copyFileSync ( join ( root , "dist.deb" ) , join ( root , "../repo/deb/bleeding" , `hoobs-cli-v${ pjson . version } .deb` ) ) ;
183+ unlinkSync ( join ( root , "dist.deb" ) ) ;
184+ execSync ( `dpkg-sig --sign builder ${ join ( root , "../repo/deb/bleeding" , `hoobs-cli-v${ pjson . version } .deb` ) } ` , { cwd : root , stdio : "inherit" } ) ;
185+ break ;
186+ }
112187
113188 if ( existsSync ( join ( root , "dist" ) ) ) execSync ( `${ join ( root , "node_modules" , ".bin" , "rimraf" ) } ${ join ( root , "dist" ) } ` , { cwd : root , stdio : "inherit" } ) ;
114189 }
0 commit comments